Pagini recente » Cod sursa (job #3284325) | Cod sursa (job #234850) | Cod sursa (job #3213158) | Cod sursa (job #3264887) | Cod sursa (job #1111229)
#include <cstdio>
#include <fstream>
#include <algorithm>
using namespace std;
int d[2][10001];
int main ()
{
int i,j=0,k,n,G,g[5001],p[5001];
ifstream f ("rucsac.in");
freopen ("rucsac.out","w",stdout);
f>>n>>G;
for(i=1;i<=n;++i)
f>>g[i]>>p[i];
for(i=1;i<=n;++i,j=1-j)
for(k=0;k<=G;++k){
d[1-j][k]=d[j][k];
if(g[i]<=k)
d[1-j][k]=max(d[1-j][k],d[j][k-g[i]]+p[i]);
}
printf("%d",d[j][G]);
return 0;}