Pagini recente » Cod sursa (job #3139559) | Cod sursa (job #1607704) | Cod sursa (job #552217) | Cod sursa (job #67681) | Cod sursa (job #2661629)
#include <iostream>
#include <math.h>
#include <vector>
#include <queue>
#include <stack>
#include <list>
#include <iomanip>
#include <stdlib.h>
#include <fstream>
#include <algorithm>
#include <string>
#include <set>
using namespace std;
ifstream f("energii.in");
ofstream g("energii.out");
struct ss
{
int cost;
int energie;
double ratie;
}x[1002];
bool compara(ss& a , ss& b)
{
if(a.ratie > b.ratie)return 0;
else if(a.ratie == b.ratie)return a.energie > b.energie;
return 1;
}
int main()
{
int n;
int cost_maxim;
f>>n>>cost_maxim;
for(int i=1;i<=n;i++)
{
int a , b;
f>>a>>b;
x[i].cost = b;
x[i].energie = a;
x[i].ratie = b/a;
}
sort(x+1, x+1+n, compara);
int suma =0 ;
int i = 1;
while(cost_maxim > 0)
{
suma+=x[i].cost;
cost_maxim-=x[i].energie;
}
g<<suma;
}