Cod sursa(job #1130631)
| Utilizator | Data | 28 februarie 2014 14:30:26 | |
|---|---|---|---|
| Problema | Problema rucsacului | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.44 kb |
/*
Keep It Simple!
*/
#include<stdio.h>
#define Max(a,b) (a>b?a:b)
int n,G,v[5005],g[5005],Final[50050000],W;
int main()
{
freopen("rucsac.in","r",stdin);
freopen("rucsac.out","w",stdout);
scanf("%d%d",&n,&W);
for(int i=1;i<=n;i++)
{
scanf("%d%d",&g[i],&v[i]);
G += g[i];
}
for(int i=1;i<=n;i++)
for(int j=W; j>=g[i];j--)
Final[j] = Max(Final[j],Final[j-g[i]]+v[i]);
printf("%d",Final[W]);
}
