Pagini recente » Cod sursa (job #1940656) | Cod sursa (job #819085) | Cod sursa (job #1401569) | Cod sursa (job #1193346) | Cod sursa (job #1194162)
#include <cstdio>
using namespace std;
#define MAX 10002
int sol[MAX], n, g;
int main()
{
int i, lim=0, w, p, j;
freopen("rucsac.in", "r", stdin);
freopen("rucsac.out", "w", stdout);
scanf("%d%d", &n, &g);
for(i=1; i<=n; i++){
scanf("%d%d", &w, &p);
for(j=lim; j>=0; j--)
if(sol[j]>0 and j+w<=g)
if(sol[j+w]<sol[j]+p){
sol[j+w] = sol[j]+p;
if(lim<j+w) lim = j+w;
}
if(sol[w]<p) sol[w] = p;
if(lim<w) lim = w;
}
lim = 0;
for(i=0; i<=g; i++)
if(sol[i]>lim) lim = sol[i];
printf("%d ", lim);
return 0;
}