Pagini recente » Cod sursa (job #2524676) | Cod sursa (job #1529953) | Cod sursa (job #2632510) | Cod sursa (job #1157885) | Cod sursa (job #1248785)
#include <iostream>
#include <fstream>
#include <map>
using namespace std;
ifstream file("input.in");
ofstream out("energii.out");
// cost - energie
multimap<float, pair<int, int> > centrala;
int gen, cost_minim, maxim;
int energ, cost = 0;
int main()
{
file >> gen >> cost_minim;
for (int i = 0; i<gen; i++)
{
file >> energ >> cost;
maxim = maxim + energ;
centrala.insert(pair<float, pair<int, int>>(((float)(energ) / cost),make_pair(cost, energ)));
}
if (maxim < cost_minim)
{
out << -1;
return -1;
}
else if (maxim == cost_minim)
{
out << maxim;
return 0;
}
maxim = 0;
auto it = centrala.rbegin();
while (maxim < cost_minim)
{
maxim += it->first;
}
out << maxim;
return 1;
}