Cod sursa(job #703022)
Utilizator | Data | 2 martie 2012 10:32:02 | |
---|---|---|---|
Problema | Problema rucsacului | Scor | 50 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.4 kb |
#include<cstdio>
#include<algorithm>
#define dim 1000
using namespace std;
FILE *fin=fopen("rucsac.in","r");
FILE *fout=fopen("rucsac.out","w");
int i,j,n,s,v[dim],g[dim],c[dim];
int main()
{fscanf(fin,"%d %d",&n,&s);
for(i=1;i<=n;++i)
fscanf(fin,"%d%d",&g[i],&c[i]);
for(i=1;i<=n;++i)
for(j=s;j-g[i]>=0;--j)
v[j]=max(v[j],v[j-g[i]]+c[i]);
fprintf(fout,"%d\n",v[s]);
return 0;
}