Cod sursa(job #3255930)
| Utilizator | Data | 12 noiembrie 2024 19:09:12 | |
|---|---|---|---|
| Problema | Problema rucsacului | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.57 kb |
#include <fstream>
#define N 1030
using namespace std;
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
int t[2][10005];
int w[5005],p[5005];
int main()
{
int i,n,g,j,q=0;
fin>>n>>g;
for(i=1;i<=n;++i)
{
fin>>w[i]>>p[i];
}
for(i=1;i<=n;++i)
{
q=1-q;
for(j=1;j<=g;++j)
{
if(j-w[i]>=0)
{
t[q][j]=max(t[1-q][j-w[i]]+p[i],t[1-q][j]);
}
else
t[q][j]=t[1-q][j];
}
}
fout<<t[q][g];
return 0;
}
