Cod sursa(job #793436)
| Utilizator | Data | 2 octombrie 2012 22:28:29 | |
|---|---|---|---|
| Problema | Problema rucsacului | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.42 kb |
#include <fstream>
using namespace std;
int cost[5005],castig[5005],gmax[10010];
int main()
{
ifstream f("rucsac.in");
ofstream g("rucsac.out");
int N,i,j,G;
f>>N>>G;
for(i=1;i<=N;i++)
{ f>>cost[i]>>castig[i];}
for(i=1;i<=N;i++)
{ for(j=G-cost[i];j>=0;j--)
{ if(gmax[j+cost[i]]<gmax[j]+castig[i])
{ gmax[j+cost[i]]=gmax[j]+castig[i];}
}
}
g<<gmax[G];
f.close();
g.close();
return 0;
}