Pagini recente » Cod sursa (job #1254285) | Cod sursa (job #162758) | Cod sursa (job #2173576) | Cod sursa (job #406021) | Cod sursa (job #1213727)
#include <fstream>
using namespace std;
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
#define MXN 5001
#define MXG 10001
int max(int a,int b)
{
if(a > b)
return a;
else return b;
}
int n,g;
int w[MXN] , p[MXG];
long v[MXN];
int rucsac(int a , int b)
{
int i,j;
for(int i = 1; i <= n; i++)
for(int j = b; j >= w[i]; j--)
v[j] = max(v[j] , v[j - w[i]] + p[i]);
return v[g];
}
int main()
{
int i;
fin >> n >> g;
for(int i= 1; i <= n; i++)
fin >> w[i] >> p[i];
fout << rucsac(n,g);
fin.close();
fout.close();
return 0;
}