Cod sursa(job #1900356)
| Utilizator | Data | 3 martie 2017 12:25:03 | |
|---|---|---|---|
| Problema | Problema rucsacului | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.49 kb |
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("rucsac.in");
ofstream g("rucsac.out");
int v[10001],gmax;
int main()
{
int n,vmax,i,j,x,y,val=0;
f>>n>>vmax;
v[0]=0;
for(i=1;i<=n;i++)
{f>>x>>y;
for(j=vmax;j>=0;j--)
{
if(j+x<=vmax&&v[j+x]<v[j]+y&&(!j||v[j])) {v[j+x]=v[j]+y;if(j+x>gmax) gmax=j+x;}
}
}
for(i=1;i<=vmax;i++)
{if(v[i]>val)val=v[i];}
g<<val;
return 0;
}
