Pagini recente » Istoria paginii runda/3333333333/clasament | Cod sursa (job #2921050) | Cod sursa (job #375622) | Cod sursa (job #2392016) | Cod sursa (job #1248787)
#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->second.first;
it++;
}
out << maxim;
return 1;
}