Pagini recente » Cod sursa (job #2909166) | Cod sursa (job #2900673) | Cod sursa (job #2189428) | Cod sursa (job #2631054) | Cod sursa (job #3282763)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
int N, G;
int dp[10005];
pair<int, int> a[5005];
int main()
{
int i, j, Max;
fin >> N >> G;
for (i = 1; i <= N; i++)
fin >> a[i].first >> a[i].second;
for (i = 1; i <= N; i++)
for (j = G; j >= a[i].first; j--)
dp[j] = max(dp[j], dp[j - a[i].first] + a[i].second);
Max = -1;
for (i = 1; i <= G; i++)
Max = max(Max, dp[i]);
fout << Max << "\n";
return 0;
}