Cod sursa(job #3369352)

Utilizator TeddyDinutaDinuta Eduard Stefan TeddyDinuta Data 19 octombrie 2026 22:07:59
Problema Problema rucsacului Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.54 kb
#include <bits/stdc++.h>

using namespace std;

ifstream in("rucsac.in");
ofstream out("rucsac.out");


int main() {
    int n, g;
    in >> n >> g;

    std::vector<int> w(n);
    std::vector<int> p(n);

    for (int i = 0; i < n; i++) {
        in >> w[i] >> p[i];
    }

    std::vector<int> dp(g + 1, 0);
    int ans = 0;

    for (int i = 1; i <= n; i++) {
        for (int j = g; j - w[i - 1] >= 0; j--) {
            dp[j] = max(dp[j], dp[j - w[i - 1]] + p[i - 1]);
            ans = max(ans, dp[j]);
        }
    }

    out << ans << '\n';
}