Cod sursa(job #1808240)
| Utilizator | Data | 17 noiembrie 2016 15:54:58 | |
|---|---|---|---|
| Problema | Problema rucsacului | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.56 kb |
#include <cstdio>
#include <iostream>
using namespace std;
FILE*fin,*fout;
int n,s,gr,i,cost,g,v[2][10001],pr,j,v2;
int main()
{
fin=fopen("rucsac.in","r");
fout=fopen("rucsac.out","w");
fscanf(fin,"%d%d",&n,&gr);
for(i=1; i<=n; i++)
{
fscanf(fin,"%d%d",&g,&pr);
for(j=1; j<=gr; j++)
{
if(j-g>=0)
v2=v[(i-1)%2][j-g]+pr;
else
v2=0;
v[i%2][j]=max(v[(i-1)%2][j],v2);
}
}
fprintf(fout,"%d",v[n%2][gr]);
return 0;
}
