Cod sursa(job #1875001)
| Utilizator | Data | 10 februarie 2017 17:21:51 | |
|---|---|---|---|
| Problema | Problema rucsacului | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.44 kb |
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("rucsac.in");
ofstream g("rucsac.out");
int n,G;
int main()
{
f>>n>>G;
int wt[n],val[n],a[n][G];
for(int i=1;i<=n;i++)
f>>wt[i]>>val[i];
for(int i=1;i<=n;i++)
for(int j=1;j<=G;j++)
{
if(wt[i]>j) a[i][j]=a[i-1][j];
else a[i][j]=max(val[i]+a[i-1][j-wt[i]],a[i-1][j]);
}
g<<a[n][G];
return 0;
}
