Pagini recente » Cod sursa (job #2808774) | Cod sursa (job #1383425) | Cod sursa (job #2100920) | Cod sursa (job #1989928) | Cod sursa (job #1492784)
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
ifstream in("energii.in");
ofstream out("energii.out");
struct generator{
int ener, cost;
float rand;
};
bool cmp(generator a, generator b)
{
return a.rand>b.rand;
}
int main()
{
int n, w;
in>>n>>w;
generator gen[n];
for(int i=0;i<n;++i)
{
in>>gen[i].ener>>gen[i].cost;
gen[i].rand=(float)gen[i].ener/gen[i].cost;
}
sort(gen, gen+n, cmp);
int cnt=0, tc=0;
while(w>0&&cnt<n)
{
tc+=gen[cnt].cost;
w-=gen[cnt].ener;
cnt++;
}
if(w<=0)
out<<tc<<"\n";
else
out<<"-1\n";
return 0;
}