Cod sursa(job #3314184)

Utilizator petric_mariaPetric Maria petric_maria Data 8 octombrie 2025 20:04:33
Problema Problema rucsacului Scor 10
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.59 kb
#include <bits/stdc++.h>
using namespace std;
ifstream f("rucsac.in");
ofstream g("rucsac.out");

int n, G, dp[10005], ma = 0;
struct date {
    int w, p;
}a[5005];

int main()
{
    f >> n >> G;
    for (int i=1; i<=n; ++i)
        f >> a[i].w >> a[i].p;

    for (int i=1; i<=G; ++i)
        dp[i] = -1;
    dp[0] = 0;

    for (int i=1; i<=n; ++i)
        for (int j=G; j>=0; --j)
            if (dp[j] != -1 && j + a[i].w <= G) {
                dp[ j+a[i].w ] = dp[j] + a[i].p;
                ma = max (ma, dp[ j+a[i].w ]);
            }
    g << ma;
    return 0;
}