Cod sursa(job #2638223)

Utilizator Mihai145Oprea Mihai Adrian Mihai145 Data 27 iulie 2020 15:33:16
Problema Problema rucsacului Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.49 kb
#include <fstream>

using namespace std;

ifstream cin("rucsac.in");
ofstream cout("rucsac.out");

const int NMAX = 5000;
const int GMAX = 10000;

int N, G;

int dp[GMAX + 2];
pair <int, int> v[NMAX + 2];

int main()
{
    cin >> N >> G;

    for(int i = 1; i <= N; i++)
        cin >> v[i].first >> v[i].second;

    for(int i = 1; i <= N; i++)
        for(int g = G; g >= v[i].first; g--)
            dp[g] = max(dp[g], dp[g - v[i].first] + v[i].second);

    cout << dp[G] << '\n';

    return 0;
}