Pagini recente » Cod sursa (job #929658) | Cod sursa (job #496868) | Cod sursa (job #1070431) | Cod sursa (job #1501774) | Cod sursa (job #2556647)
#include <iostream>
#include <fstream>
#define NMAX 5005
#define GMAX 10005
using namespace std;
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
int n,gmax,v[NMAX],g[NMAX],optim[GMAX];
int main()
{
fin>>n>>gmax;
for(int i=1;i<=n;i++)
fin>>g[i]>>v[i];
int s=0;
optim[0]=0;
for(int i=1;i<=n;i++)
for(int j=gmax-g[i];j>=0;j--)
{
if(optim[j+g[i]]<optim[j]+v[i])
optim[j+g[i]]=optim[j]+v[i];
if(optim[j+g[i]]>s)s=optim[j+g[i]];
}
fout<<s;
return 0;
}