Cod sursa(job #3357829)
| Utilizator | Data | 13 iunie 2026 15:23:35 | |
|---|---|---|---|
| Problema | Problema rucsacului | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.42 kb |
#include <fstream>
#include <vector>
#include <algorithm>
using namespace std;
ifstream cin("rucsac.in");
ofstream cout("rucsac.out");
int main() {
int n, G;
cin >> n >> G;
vector<int> dp(G + 1, 0);
for (int i = 0; i < n; ++i) {
int g, p;
cin >> g >> p;
for (int j = G; j >= g; --j) {
dp[j] = max(dp[j], dp[j - g] + p);
}
}
cout << dp[G] << '\n';
return 0;
}