Cod sursa(job #1408481)
| Utilizator | Data | 30 martie 2015 01:15:01 | |
|---|---|---|---|
| Problema | Problema rucsacului | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.47 kb |
#include <fstream>
using namespace std;
ifstream fin("rucsac.in");ofstream fout("rucsac.out");
int n,g,pmax,greu[5001],cost[10001],a[5001][10001],i,key,j;
int main()
{
fin>>n>>g;
for(i=1;i<=n;i++) fin>>greu[i]>>cost[i];
for(i=1;i<=n;i++,key=1-key)
for(j=0;j<=g;j++)
{
a[1-key][j]=a[key][j];
if(greu[i]<=j) a[1-key][j]=max(a[1-key][j],a[key][j-greu[i]]+cost[i]);
}
fout<<a[key][g];
return 0;
}
