Pagini recente » Cod sursa (job #2933570) | Cod sursa (job #2771025) | Cod sursa (job #1337080) | Cod sursa (job #689789) | Cod sursa (job #1090913)
#include <fstream>
using namespace std;
ifstream is("energii.in");
ofstream os("energii.out");
int n, G, v[10001], g[10001],w;
bool c[10001];
int r[10001];
int main()
{
is >> n >> G;
for ( int i = 1; i <= n; i++ )
is >> v[i] >> g[i], w += v[i];
c[0] = true;
r[0] = 0;
for ( int i = 1; i <= n; ++i )
for ( int j = G; j >= 0; --j )
{
if ( c[j] )
{
c[j + v[i]] = true;
r[j + v[i]] = r[j] + g[i];
}
}
for ( int i = 2*G;i >= 0 ; i-- )
{
if ( c[i] && i >= G )
{
os << r[i];
break;
}
if ( i > w )
{
os << "-1";
break;
}
}
is.close();
os.close();
return 0;
}