Cod sursa(job #2871100)

Utilizator toma_ariciuAriciu Toma toma_ariciu Data 12 martie 2022 21:06:41
Problema Problema rucsacului Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.61 kb
#include <iostream>
#include <fstream>
#include <algorithm>

using namespace std;

const string filename = "rucsac";
ifstream fin(filename + ".in");
ofstream fout(filename + ".out");

int n, cap, g[5005], p[5005], dp[5005][10005];


int main()
{
    fin >> n >> cap;
    for(int i = 1; i <= n; i++)
        fin >> g[i] >> p[i];
    for(int i = 1; i <= n; i++)
        for(int j = g[i]; j <= cap; j++)
            dp[i][j] = max(dp[i - 1][j], dp[i - 1][j - g[i]] + p[i]);
    int ans = -1;
    for(int j = 0; j <= cap; j++)
        ans = max(ans, dp[n][j]);
    fout << ans << '\n';
    return 0;
}