Cod sursa(job #1070231)
Utilizator | Data | 31 decembrie 2013 13:42:21 | |
---|---|---|---|
Problema | Problema rucsacului | Scor | 35 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.51 kb |
#include<fstream>
using namespace std;
ifstream f("rucsac.in");
ofstream g("rucsac.out");
int n, gmax, w[5001], p[5001], a[5001][10001], i, j;
int main()
{
f>>n>>gmax;
for(i=1;i<=n;i++)f>>w[i]>>p[i];
for(i=1;i<=n;i++)
{
for(j=1;j<=gmax;j++)
{
a[i][j]=a[i-1][j];
if(j>=w[i])
{
a[i][j]=max(a[i-1][j],p[i]+a[i-1][j-w[i]]);
}
}
}
g<<a[n][gmax];
f.close();
g.close();
return 0;
}