Cod sursa(job #2645219)
| Utilizator | 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;
}
