Pagini recente » Cod sursa (job #322612) | Cod sursa (job #1955720) | Cod sursa (job #3142767) | Cod sursa (job #353907) | Cod sursa (job #3158830)
/// vreau sa fac toata pagina 1 de infoarena
#include <iostream>
using namespace std;
const int maxVal = 15000, inf = 0x3f3f3f3f;
int minCost[maxVal + 5];
int main() {
#ifdef LOCAL
freopen("test.in", "r", stdin);
freopen("test.out", "w", stdout);
#else
freopen("energii.in", "r", stdin);
freopen("energii.out", "w", stdout);
#endif // LOCAL
int g, w, ans = inf;
cin >> g >> w;
for (int i = 1; i <= maxVal; i++) {
minCost[i] = inf;
}
for (int j = 1; j <= g; j++) {
int val, cost;
cin >> val >> cost;
for (int i = maxVal; i >= val; i--) {
minCost[i] = min(minCost[i], minCost[i - val] + cost);
if (i >= w) {
ans = min(ans, minCost[i]);
}
}
}
if (ans == inf) {
ans = -1;
}
cout << ans;
return 0;
}