Cod sursa(job #1456688)
Utilizator | Data | 1 iulie 2015 18:13:41 | |
---|---|---|---|
Problema | Problema rucsacului | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.45 kb |
#include <fstream>
#include <algorithm>
using namespace std;
ifstream f("rucsac.in");
ofstream g("rucsac.out");
int n,G,sol[10010],j,w,p,soll;
int main()
{
f>>n>>G;
for(;n;n--)
{
f>>w>>p;
for(j=G;j>=w;j--)
if(sol[j-w])
sol[j]=max(sol[j],sol[j-w]+p);
sol[w]=max(sol[w],p);
}
soll=0;
for(j=1;j<=G;j++)
soll=max(soll,sol[j]);
g<<soll;
return 0;
}