Cod sursa(job #923001)

Utilizator vladvaldezVlad Dimulescu vladvaldez Data 22 martie 2013 19:19:02
Problema Problema rucsacului Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.47 kb
#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;
}