Cod sursa(job #2450615)

Utilizator Dragos1226Dragos Chileban Dragos1226 Data 23 august 2019 19:35:22
Problema Problema rucsacului Scor 65
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.58 kb
#include <bits/stdc++.h>
using namespace std;
ifstream in("rucsac.in");
ofstream out("rucsac.out");
#define nmax 5000
int n, g, w[nmax], p[nmax], dp[nmax];

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

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

    int sol = 0;
    for (int i = 0; i < n; i++) {
        for (int j = g - w[i]; j >= 0; j--) {
            if (dp[j + w[i]] < dp[j] + p[i]) {
                dp[j + w[i]] = dp[j] + p[i];
                if (dp[j + w[i]] > sol)
                    sol = dp[j + w[i]];
            }
        }
    }

    out << sol;
}