Cod sursa(job #2941995)

Utilizator LukyenDracea Lucian Lukyen Data 18 noiembrie 2022 17:47:41
Problema Problema rucsacului Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.57 kb
#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 = vec[i].first; w <= wMax; w++)
            best[i][w] = max(best[i - 1][w], best[i - 1][w - vec[i].first] + vec[i].second);

    fout << best[n][wMax];

    return 0;
}