Cod sursa(job #2572751)

Utilizator arckerDolteanu Gabriel arcker Data 5 martie 2020 14:07:45
Problema Problema rucsacului Scor 10
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.52 kb
#include <bits/stdc++.h>
#define G first
#define V second
using namespace std;

int n,gmax, um[10005][10005];
pair<int, int> v[5005];

int rec(int i, int g){
    if(g < 0)return INT_MIN;
    if(!g || i < 2)return um[i][g] = 0;
    return um[i][g] = max(rec(i - 1, g - v[i - 1].G) + v[i - 1].V, rec(i - 1, g));
}


int main(){
    ifstream cin("rucsac.in");
    ofstream cout("rucsac.out");
    cin >> n >> gmax;
    for(int i = 1; i <= n; ++i)
        cin >> v[i].G >> v[i].V;
    cout << rec(n + 1, gmax);
}