Cod sursa(job #2384876)

Utilizator RaresLiscanLiscan Rares RaresLiscan Data 21 martie 2019 11:44:24
Problema Problema rucsacului Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.58 kb
#include <bits/stdc++.h>

using namespace std;

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

int dp[10005];

int main()
{
    int n, g;
    fin >> n >> g;
    for (int j = 0; j < n; j ++) {
        int w, p;
        fin >> w >> p;
        for (int i = g; i > 0; i --) {
            if (i - w > 0 && dp[i - w] != 0) dp[i] = max(dp[i], dp[i - w] + p);
            if (i == w) dp[i] = max(dp[i], p);
        }
    }
    int maxim = 0;
    for (int i = 1; i <= g; i ++) {
        if (dp[i] > maxim) maxim = dp[i];
    }
    fout << maxim;
    return 0;
}