Pagini recente » Cod sursa (job #1947768) | Cod sursa (job #94731) | Cod sursa (job #1105652) | Cod sursa (job #2273177) | Cod sursa (job #1336459)
#include <iostream>
#include <cstdio>
using namespace std;
int A[5010][10010]; int N,Gmax;
struct RUCSAC{int G,P;}v[5010];
int main()
{
freopen("rucsac.in", "r", stdin);
freopen("rucsac.out", "w", stdout);
int i,j;
scanf("%d%d", &N,&Gmax);
for(i=1; i<=N; i++)
scanf("%d%d", &v[i].G, &v[i].P);
for(i=1; i<=N; i++)
{
for(j=1; j<=Gmax; j++)
{
if(j<v[i].G) A[i][j]=A[i-1][j];
else
A[i][j]=max(A[i-1][j],v[i].P+A[i-1][j-v[i].G]);
}
}
printf("%d",A[N][Gmax]);
return 0;
}