Pagini recente » Cod sursa (job #430242) | Cod sursa (job #234161) | Cod sursa (job #2903292) | Cod sursa (job #625785) | Cod sursa (job #2478908)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin ("rucsac.in");
ofstream fout ("rucsac.out");
long long 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;
}