Cod sursa(job #1514171)
Utilizator | Data | 30 octombrie 2015 19:40:06 | |
---|---|---|---|
Problema | Problema rucsacului | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.56 kb |
#include <stdio.h>
using namespace std;
FILE *f,*g;
int v[5001],x[5001],s[10001];
int main()
{
int i,j,n,gr;
f=fopen("rucsac.in","r");
g=fopen("rucsac.out","w");
fscanf(f,"%d %d",&n,&gr);
for(i=1;i<=n;i++) fscanf(f,"%d %d",&v[i],&x[i]);
for(i=1;i<=n;i++)
{
for(j=gr;j>=1;j--)
{
if(j-v[i]>=0)
{
if(s[j]<s[j-v[i]]+x[i]) s[j]=s[j-v[i]]+x[i];
}
}
}
fprintf(g,"%d",s[gr]);
fclose(f);
fclose(g);
return 0;
}