Pagini recente » Cod sursa (job #3214210) | Cod sursa (job #1406959) | Cod sursa (job #2325368) | Cod sursa (job #1255634) | Cod sursa (job #3159717)
#include <iostream>
#include <fstream>
#include <vector>
#include <algorithm>
using namespace std;
ifstream fin("energii.in");
ofstream fout("energii.out");
int g, w;
vector<pair<int, int>> v;
bool cmp(pair<int, int> &a, pair<int, int> &b) {
return 1. * a.first / a.second > 1. * b.first / b.second;
}
int main() {
fin >> g >> w;
for (int i = 0; i < g; i++) {
int e, c;
fin >> e >> c;
v.push_back({e, c});
}
sort(v.begin(), v.end(), cmp);
int currEnergy = 0;
int currCost = 0;
for (auto x : v) {
if (currEnergy >= w) {
break;
}
currEnergy += x.first;
currCost += x.second;
}
fout << currCost << '\n';
return 0;
}