Pagini recente » Cod sursa (job #2543685) | Cod sursa (job #1370461) | Cod sursa (job #324559) | Cod sursa (job #1222795) | Cod sursa (job #1499882)
#include <iostream>
#include <fstream>
#define gmax 10001
#define nmax 5001
using namespace std;
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
int d[nmax][gmax],g[nmax],pr[nmax];
int main()
{int n,gre,i,j,w;
fin>>n>>gre;
for(i=1;i<=n;i++)
fin>>g[i]>>pr[i];
for(i=0;i<=n;i++)
for(j=1;j<=gre;j++)
d[i][j]=-1;
for(w=1;w<=gre;w++)
for(i=1;i<=n;i++)
{d[i][w]=d[i-1][w];
if(g[i]<=w && d[i-1][w-g[i]]!=-1 && d[i][w]<d[i-1][w-g[i]]+pr[i])
d[i][w]=d[i-1][w-g[i]]+pr[i];
}
fout<<d[n][gre];
}