Cod sursa(job #2507453)
| Utilizator | Data | 10 decembrie 2019 12:02:53 | |
|---|---|---|---|
| Problema | Energii | Scor | 0 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 0.65 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream fin (".in");
ofstream fout (".out");
int v[10002];
int e[1002][2];
int main () {
int g, w;
cin >> g >> w;
int maxCost = 0;
for (int i = 1; i <= g; i++) {
cin >> e[i][0] >> e[i][1];
if (e[i][1] > maxCost)
maxCost = e[i][1];
}
cout << maxCost;
for (int i = 1; i <= g; i++) {
for (int j = maxCost; j >= w; j--)
v[j] = max(e[i][0], v[j - e[i][1]] + e[i][0]);
}
for (int i = 1; i <= 10002; i++) {
if (v[i] >= w) {
fout << i;
break;
}
}
}
