Mai intai trebuie sa te autentifici.
Cod sursa(job #670298)
Utilizator | Data | 28 ianuarie 2012 20:28:30 | |
---|---|---|---|
Problema | Problema rucsacului | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.45 kb |
#include<cstdio>
#include <algorithm>
#define GMAX 10002
using namespace std;
int n,i,j,L,G,d[2][GMAX];
int main()
{
freopen("rucsac.in","rt",stdin);
freopen("rucsac.out","wt",stdout);
scanf("%d%d",&n,&G);
for(i=1;i<=n;++i) scanf("%d%d",&a[i].g,&a[i].c);
for(i=1;i<=n;i++,L=1-L)
for(int j=0;j<=G;j++)
{d[1-L][j]=d[L][j];
if(a[i].g<=j) d[1-L][j] = max(d[1-L][j], d[L][j - a[i].g] + a[i].c);
}
printf("%d\n",d[L][G]);
return 0;
}