Cod sursa(job #2493194)
| Utilizator | Data | 16 noiembrie 2019 09:34:46 | |
|---|---|---|---|
| Problema | Problema rucsacului | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.42 kb |
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
const int MAXG = 10010;
int dp[MAXG], n, g, w, p;
int main() {
fin >> n >> g;
for (int i = 1; i <= n; ++i) {
fin >> w >> p;
for (int j = g; j - w >= 0; --j)
dp[j] = max(dp[j], p + dp[j - w]);
}
fout << dp[g];
return 0;
}
