Cod sursa(job #2645219)

Utilizator VladTiberiuMihailescu Vlad Tiberiu VladTiberiu Data 27 august 2020 15:22:15
Problema Problema rucsacului Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.63 kb
#include <bits/stdc++.h>

using namespace std;

int main(){
    ifstream cin("rucsac.in");
    ofstream cout("rucsac.out");
    int n,G;
    cin >> n >> G;
    vector<pair<int,int> > a(n);
    vector<int> bestt(G + 1, 0);
    for(int i = 0; i < n; ++i){
        cin >> a[i].first >> a[i].second;
    }
    for(int i = 0; i < n; ++i){
        for(int j = G; j >= 0; --j){
            if(j - a[i].first >= 0 &&
               bestt[j] < bestt[j - a[i].first] + a[i].second){
                bestt[j] = bestt[j - a[i].first] + a[i].second;
            }
        }
    }
    std::cout << bestt[G] << '\n';
    return 0;
}