Pagini recente » Cod sursa (job #461008) | Cod sursa (job #2034845) | Cod sursa (job #2805320) | Cod sursa (job #2674372) | Cod sursa (job #642238)
Cod sursa(job #642238)
#include<cstdio>
const int INF = -200;
const int M = 10001;
int n , G , g[M] , p[M] , sol[M] ;
int main()
{
freopen ( "rucsac.in" , "r" , stdin );
freopen ( "rucsac.out" , "w" , stdout );
scanf ( "%d %d" , &n , &G );
for (int i = 1 ; i<=n ; ++i )
scanf ( "%d%d" , &g[i] , &p[i] );
for (int i=1 ; i<=n ; ++i )
sol[i] = INF;
sol[0] = 0;
for (int i = 1 ; i<=n ; ++i )
{
for (int j = G- g[i] ; j>= 0 ; --j )
{
if (sol[j]+p[i]>sol[j+g[i]])
sol[j+g[i]] = sol[j] + p[i];
}
}
int max = -1;
for (int i=1 ; i<=G ; ++i )
if (sol[i]>max) max = sol[i];
printf("%d\n" , max );
return 0;
}