Cod sursa(job #1204539)

Utilizator badea_adi1999Badea Adrian Catalin badea_adi1999 Data 3 iulie 2014 11:25:31
Problema Problema rucsacului Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.53 kb
#include <cstdio>
#include <algorithm>
using namespace std;
FILE *f=fopen("rucsac.in","r");
FILE *g=fopen("rucsac.out","w");
int n,greu,gtot;
int v[10001];

int main()
{int i,j,x,y;
fscanf(f,"%d %d",&n,&greu);

for (i=1;i<=10000;i++) v[i]=-1;
for (i=1;i<=n;i++)
        {fscanf(f,"%d %d",&x,&y);
         for (j=min(gtot,10000-x);j>=0;j--) if (v[j]!=-1&&v[j+x]<v[j]+y) v[j+x]=v[j]+y;


         gtot+=x;
         }
int maxim=0;
for (i=greu;i>=0;i--) if (v[i]>maxim) maxim=v[i];
fprintf(g,"%d\n",maxim);


return 0;
}