Pagini recente » Cod sursa (job #467785) | Cod sursa (job #1660423) | Cod sursa (job #2374160) | Cod sursa (job #316988) | Cod sursa (job #2645221)
#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;
}
}
}
cout << bestt[G] << '\n';
return 0;
}