Cod sursa(job #3160675)
| Utilizator | Data | 24 octombrie 2023 20:34:29 | |
|---|---|---|---|
| Problema | Problema rucsacului | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.59 kb |
#include <fstream>
using namespace std;
ifstream cin("rucsac.in");
ofstream cout("rucsac.out");
int main() {
int n, gmax;
cin >> n >> gmax;
int weights[n];
int values[n];
for (int i = 0; i < n; i++) {
cin >> weights[i] >> values[i];
}
int dp[gmax + 1];
for (int i = 0; i <= gmax; i++) {
dp[i] = 0;
}
for (int i = 0; i < n; i++) {
for (int j = gmax; j >= weights[i]; j--) {
dp[j] = max(dp[j], dp[j - weights[i]] + values[i]);
}
}
cout << dp[gmax] << endl;
return 0;
}
