Pagini recente » Cod sursa (job #2929428) | Cod sursa (job #2751212) | Cod sursa (job #1305799) | Cod sursa (job #2052134) | Cod sursa (job #631345)
Cod sursa(job #631345)
#include <iostream>
#include <iomanip>
#include <fstream>
#include <cstring>
#include <cstdlib>
#include <string>
using namespace std;
#define LL long long
#define INFILE "rucsac.in"
#define OUTFILE "rucsac.out"
#define NMAX 10001
int p[NMAX], n, g;
void additem(int gi, int pi)
{
for(int i = g-gi; i>=0; i--)
if( p[i]>0 && p[i+gi]<p[i]+pi )
p[i+gi] = p[i] + pi;
p[gi] = max(p[gi], pi);
}
int main()
{
freopen(INFILE, "r", stdin);
freopen(OUTFILE, "w", stdout);
cin >> n >> g;
memset(p, 0, sizeof(p));
for(int i=0; i<n; i++)
{
int gi, pi;
cin >> gi >> pi;
additem(gi, pi);
}
while( p[g]==0 ) g--;
cout << p[g];
return 0;
}