Cod sursa(job #682935)
Utilizator | Alghisi Alessandro Paolo alexalghisi | Data | 19 februarie 2012 19:00:57 |
---|---|---|---|
Problema | Problema rucsacului | Scor | 50 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.42 kb |
#include <cstdio>
#include <algorithm>
using namespace std;
int dp[10005][10005];
int main()
{
int n,G,g,p;
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,&p);
for(int j=1;j<=G;j++)
{
dp[i][j]=dp[i-1][j];
if(g<=j)
dp[i][j]=max(dp[i][j],dp[i-1][j-g]+p);
}
}
printf("%d",dp[n][G]);
return 0;
}