Cod sursa(job #2955764)
| Utilizator | Data | 17 decembrie 2022 19:23:35 | |
|---|---|---|---|
| Problema | Problema rucsacului | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.47 kb |
#include<fstream>
std::ifstream cin("rucsac.in");
std::ofstream cout("rucsac.out");
using namespace std;
int weight[10001];
int n, w;
pair<int, int>elements[5001];
int main() {
cin >> n >> w;
for (int i = 1; i <= n; i++) cin >> elements[i].second >> elements[i].first;
for (int i = 1; i <= n; i++)
for (int W = w; W >= elements[i].second; W--)
weight[W] = max(weight[W], weight[W - elements[i].second] + elements[i].first);
cout << weight[w];
return 0;
}