Pagini recente » Cod sursa (job #1352168) | Cod sursa (job #1730984) | Cod sursa (job #337636) | Cod sursa (job #2189223) | Cod sursa (job #1213726)
#include <fstream>
using namespace std;
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
#define MXN 5001
#define MXG 5001
int max(int a,int b)
{
if(a > b)
return a;
else return b;
}
int n,g;
int w[MXN] , p[MXN];
long v[MXG];
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;
}