Pagini recente » Cod sursa (job #472666) | Cod sursa (job #1516564) | Cod sursa (job #2282541) | Cod sursa (job #1003086) | Cod sursa (job #2216702)
#include <iostream>
#include <algorithm>
#include <fstream>
using namespace std;
typedef struct nume{
int cant;
int cost;
float efic;
} numere;
bool how_to_sort(numere a, numere b){ return a.efic <b.efic ;}
int main()
{
ifstream in;
in.open("energii.in");
ofstream out;
out.open("energii.out");
int nr,i,energia;
numere arr[10001];
in >> nr >> energia;
for(i = 0; i != nr ; i++ ){
in >> arr[i].cant >> arr[i].cost;
arr[i].efic = (float)arr[i].cost / arr[i].cant;
}
sort(arr,arr+nr,how_to_sort);
int sum = 0,rasp = 0;
for(i = 0; i != nr ; i++ ){
if(sum >= energia) break;
sum += arr[i].cant;
rasp += arr[i].cost;
}
if(sum < energia) out <<"-1"<<endl;
out << rasp <<endl;
return 0;
}