Pagini recente » Cod sursa (job #221265) | Cod sursa (job #2859766) | Cod sursa (job #3170503) | Cod sursa (job #257410) | Cod sursa (job #2674455)
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
ifstream in("energii.in");
ofstream out("energii.out");
struct generator {
int energie;
int cost;
double eff;
}g[1002];
bool comp(generator a, generator b) {
return (a.cost < b.cost);
}
int G, W;
int main() {
ios::sync_with_stdio(false);
in.tie(NULL), out.tie(NULL);
in >> G >> W;
for (int i = 1; i <= G; i++) {
in >> g[i].energie >> g[i].cost;
g[i].eff = (double)g[i].energie / g[i].cost;
}
sort(g + 1, g + G + 1, comp);
int energie = 0, cost = 0, ok = 0;
for (int i = 1; i <= G && ok == 0; i++) {
if (energie + g[i].energie <= G) {
energie += g[i].energie;
cost += g[i].cost;
}
else {
ok = 1;
energie += g[i].energie;
cost += g[i].cost;
}
}
if (cost == 0) out << -1;
else out << cost;
return 0;
}