Pagini recente » Cod sursa (job #2620251) | Cod sursa (job #674100) | Cod sursa (job #3213101) | Cod sursa (job #1766184) | Cod sursa (job #2561642)
#include <fstream>
#include <vector>
#include <algorithm>
using namespace std;
const int NMAX = 5005;
const int GMAX = 10005;
ifstream cin("rucsac.in");
ofstream cout("rucsac.out");
pair <int, int> v[NMAX];
int dp[GMAX];
int main() {
int n, g;
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 j = g - v[i].first; j >= 0; --j) {
dp[j + v[i].first] = max(dp[j + v[i].first], dp[j] + v[i].second);
}
}
int ans = 0;
for(int i = 0; i <= g; ++i) {
ans = max(ans, dp[i]);
}
cout << ans << "\n";
return 0;
}