Pagini recente » Cod sursa (job #2954659) | Cod sursa (job #1644313) | Cod sursa (job #871915) | Cod sursa (job #1323056) | Cod sursa (job #2698631)
//#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
const int MAXN=1e4+5;
int n,i,g,G,maxi;
int d[MAXN],w[MAXN],p[MAXN];
ifstream cin("rucsac.in");
ofstream cout("rucsac.out");
int main()
{
cin>>n>>G;
for ( int i = 1; i <= n; ++i) cin >> w[i] >> p[i];
for (int i = 1; i <= n; ++i) for ( int g = G - w[i]; g >= 0; --g)
{
if( d[g + w[i]] < d[g] +p[i]) d[g + w[i]] = d[g] +p[i];
}
for (i=G;i>=1;i--)
{
maxi=max(maxi,d[i]);
}
cout<<maxi;
}