Pagini recente » Cod sursa (job #711369) | Cod sursa (job #1860608) | Cod sursa (job #468768) | Cod sursa (job #607647) | Cod sursa (job #609873)
Cod sursa(job #609873)
#include<fstream>
using namespace std;
int n,gmax;
int c[5002],g[5002];
int cmax[2][5002],Pmax;
void citire()
{int i,j;
ifstream f("rucsac.in");
f>>n>>gmax;
for(i=1;i<=n;i++) f>>g[i]>>c[i];
f.close();
}
void rezolvare()
{int s,k=0,i;
for(i=1;i<=n;i++,k=1-k)
for(s=0;s<=gmax;s++)
{
cmax[1-k][s]=cmax[k][s];
if(g[i]<=s)
cmax[1-k][s]=max(cmax[1-k][s], cmax[k][s-g[i]]+c[i]);
}
Pmax=cmax[k][gmax];
}
void afisare()
{int k;
ofstream g("rucsac.out");
g<<Pmax;
g.close();
}
int main()
{citire();
rezolvare();
afisare();
}