Cod sursa(job #2478908)

Utilizator bmarcuBogdan Marcu bmarcu Data 22 octombrie 2019 21:20:08
Problema Problema rucsacului Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.57 kb
#include <iostream>
#include <fstream>

using namespace std;
ifstream fin ("rucsac.in");
ofstream fout ("rucsac.out");
long long dp[5001];

int main()
{
    int n, g;
    fin >> n >> g;

    for (int i = 1; i <= n; i++) {
        int gr, v;
        fin >> gr >> v;
        for (int  j = g-gr; j >= 1; j--)
            if (dp[j] != 0)
                dp[j+gr] = max(dp[j+gr], dp[j] + v);
        dp[gr] = max(dp[gr], v);
    }

    int maxx = dp[1];
    for (int i = 1; i <= g; i++)
        if (dp[i] > maxx)
            maxx = dp[i];

    fout << maxx;
}