Cod sursa(job #1775533)
| Utilizator | Data | 10 octombrie 2016 15:47:48 | |
|---|---|---|---|
| Problema | Problema rucsacului | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.56 kb |
#include <fstream>
using namespace std;
ifstream f("rucsac.in");
ofstream g("rucsac.out");
int d[3][100001],n,gg,w[5010],p[5010];
void sw()
{int i;
for(i=0;i<=gg;i++)
d[1][i]=d[2][i];
}
void afis ()
{int i;
for(i=1;i<=gg;i++)
g<<d[2][i]<<" ";
g<<'\n';
}
int main()
{int i,j;
f>>n>>gg;
for(i=1;i<=n;i++)
{f>>w[i]>>p[i];
}
for(i=1;i<=n;i++)
{for(j=0;j<=gg;j++)
{if(w[i]<=j)d[2][j]=max(d[1][j],d[1][j-w[i]]+p[i]);
else d[2][j]=d[1][j];
}
sw();
}
g<<d[2][gg];
return 0;
}
