Pagini recente » Cod sursa (job #875456) | Cod sursa (job #422165) | Cod sursa (job #2446405) | Cod sursa (job #2956918) | Cod sursa (job #3352756)
#include <fstream>
#include <vector>
#include <algorithm>
#include <iostream>
using namespace std;
ifstream fin("energii.in");
ofstream fout("energii.out");
const int INF = 999999999;
int main() {
ifstream in("energii.in");
ofstream out("energii.out");
int G, W;
in >> G >> W;
vector<int> min_cost(W + 8, INF);
min_cost[0] = 0;
for (int i = 0; i < G; ++i) {
int e, c;
in >> e >> c;
for (int j = W; j >= 0; --j) {
if (min_cost[j] != INF) {
int next_e = min(W, j + e);
if (min_cost[next_e] > min_cost[j] + c) {
min_cost[next_e] = min_cost[j] + c;
}
}
}
}
if (min_cost[W] == INF) {
out << -1 << endl;
} else {
out << min_cost[W] << endl;
}
return 0;
}