Pagini recente » Cod sursa (job #2330162) | Cod sursa (job #2164721) | Cod sursa (job #1757432) | Cod sursa (job #3213723) | Cod sursa (job #611088)
Cod sursa(job #611088)
#include<stdio.h>
#define GMAX 10100
#define INF 10100
int D[GMAX];
int main()
{
int N, G, i, gnow = 0, w, p;
freopen("rucsac.in", "r", stdin);
freopen("rucsac.out", "w", stdout);
scanf("%d%d", &N, &G);
for(i = 1; i <= N; i ++)
D[i] = INF * (-1);
while(N --)
{
scanf("%d%d", &w, &p);
for(i = gnow; i >= 0; i --)
if(i + w <= G && D[i + w] < D[i] + p)
D[i + w] = D[i] + p;
gnow = gnow + w;
if(gnow > G)
gnow = G;
}
printf("%d", D[G]);
return 0;
}