Pagini recente » Cod sursa (job #433389) | Cod sursa (job #2535410) | Cod sursa (job #987822) | Cod sursa (job #3131600) | Cod sursa (job #2478904)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin ("rucsac.in");
ofstream fout ("rucsac.out");
int dp[5001];
int main()
{
int n, g;
fin >> n >> g;
for (int i = 1; i <= n; i++) {
int gr, v;
fin >> gr >> v;
for (int j = g-gr; j >= 1; j--)
if (dp[j] != 0)
dp[j+gr] = max(dp[j+gr], dp[j] + v);
dp[gr] = max(dp[gr], v);
}
int maxx = dp[1];
for (int i = 1; i <= g; i++)
if (dp[i] > maxx)
maxx = dp[i];
fout << maxx;
}