Pagini recente » Cod sursa (job #2030264) | Cod sursa (job #334426) | Cod sursa (job #2687144) | Cod sursa (job #463205) | Cod sursa (job #1831774)
#include <cstdio>
#include <iostream>
using namespace std;
#define NMAX 10001
int D[ NMAX ];
int main () {
freopen("rucsac.in","r",stdin);
freopen("rucsac.out","w",stdout);
int N, M, G, i, j, g, v, ma;
ma = -1;
scanf( "%d%d",&N,&G );
for ( i = 1; i <= N; ++i ) {
scanf( "%d%d",&g,&v );
for ( j = G - g; j >= 1; --j )
if ( D[ j ] )
D[ j + g ] = max( D[ j + g ], D[ j ] + v );
D[ g ] = max( D[ g ], v );
}
for ( i = 1; i <= G; ++i )
ma = max( ma, D[ i ] );
printf("%d",ma);
return 0;
}