Cod sursa(job #3308658)

Utilizator PatrikKev75Szucs Patrik - Kevin PatrikKev75 Data 27 august 2025 00:39:44
Problema Problema rucsacului Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.64 kb
// https://infoarena.ro/problema/rucsac - Szücs Patrik - Kevin
#include <fstream>
#include <algorithm>

int main()
{
    short n, g;

    std::ifstream in("rucsac.in");
    in >> n >> g;

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

    int dp[g + 1]{};
    for (int i = 1; i <= n; i++)
    {
        for (int j = g; w[i - 1] <= j; j--)
        {
            dp[j] = (dp[j] > dp[j - w[i - 1]] + p[i - 1]) ? dp[j] : dp[j - w[i - 1]] + p[i - 1];
        }
    }

    std::ofstream out("rucsac.out");
    out << dp[g] << '\n';

    out.close();
    return 0;
}