Pagini recente » Cod sursa (job #814693) | Cod sursa (job #24484) | Cod sursa (job #1054885) | Cod sursa (job #1112411) | Cod sursa (job #609872)
Cod sursa(job #609872)
#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();
}