Pagini recente » Cod sursa (job #1156182) | Cod sursa (job #1000775) | Cod sursa (job #1642383) | Cod sursa (job #2653052) | Cod sursa (job #2941996)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
int main()
{
int n, wMax;
fin >> n >> wMax;
vector<pair<int, int>> vec(n + 1);
for (int i = 1; i <= n; i++)
fin >> vec[i].first >> vec[i].second;
vector<vector<int>> best(n + 1, vector<int>(wMax + 1, 0));
for (int i = 1; i <= n; i++)
for (int w = 1; w <= wMax; w++)
if (w >= vec[i].first)
best[i][w] = max(best[i - 1][w], best[i - 1][w - vec[i].first] + vec[i].second);
else
best[i][w] = best[i - 1][w];
fout << best[n][wMax];
return 0;
}