Pagini recente » Borderou de evaluare (job #2040282) | Cod sursa (job #2333610) | Cod sursa (job #3272329) | Cod sursa (job #3268659) | Cod sursa (job #923001)
Cod sursa(job #923001)
#include <stdio.h>
#include <algorithm>
using namespace std;
FILE *f=fopen("rucsac.in","r");
FILE *g=fopen("rucsac.out","w");
int n,gg,i,j,l;
int p[5010],v[5010];
int d[2][10010];
int main()
{
fscanf(f,"%d%d",&n,&gg);
l=0;
for(i=1;i<=n;i++)
fscanf(f,"%d%d",&v[i],&p[i]);
for(i=1;i<=n;i++,l=1-l)
for(j=0;j<=gg;j++)
{
d[1-l][j]=d[l][j];
if (v[i]<=j)
d[1-l][j]=max(d[1-l][j],d[l][j-v[i]]+p[i]);
}
fprintf(g,"%d",d[l][gg]);
fclose(g);
return 0;
}