Pagini recente » Cod sursa (job #579804) | Cod sursa (job #2667539) | Cod sursa (job #2437774) | Cod sursa (job #2868496) | Cod sursa (job #2865209)
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin("energii.in");
ofstream fout("energii.out");
struct generator
{
int energie;
int cost;
}v[1001];
int N, W;
int CT;
void citire()
{
fin>>N>>W;
for(int i=1; i<=N; i++)
fin>>v[i].energie>>v[i].cost;
}
bool cmp(generator a, generator b )
{
if(a.energie * b.cost > b.energie * a.cost)
return 1;
else if(a.energie * b.cost == b.energie * a.cost)
{
if(a.cost < b.cost)
return 1;
}
return 0;
}
int main()
{
citire();
sort(v+1, v+N+1, cmp);
int w=0;
for(int i=1; i<=N and w<W; i++)
{
w+=v[i].energie;
CT+=v[i].cost;
}
fout<<CT;
return 0;
}