Cod sursa(job #2677343)

Utilizator AlexNic_Nicula Dan Alexandru AlexNic_ Data 26 noiembrie 2020 11:46:56
Problema Energii Scor 40
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.79 kb
#include <fstream>
#include <algorithm>
using namespace std;


struct ura{
     int energie, cost;
     double eficienta;
};
ura Generatoare[5001];

bool cmp(ura a, ura b){
     if(a.eficienta>=b.eficienta){
        return true ;
     }
     return false;
}

int main()
{
    ifstream cin("energii.in");
    ofstream cout("energii.out");
    int n , s , i, fin=0;
    cin>>n>>s;
    for(i=1;i<=n;i++){
        cin>>Generatoare[i].energie>>Generatoare[i].cost;
        Generatoare[i].eficienta= (double) Generatoare[i].energie/Generatoare[i].cost;
    }
    sort(Generatoare+1,Generatoare+n+1,cmp);
    for(i=1;i<=n;i++){
        if(s<=0){
            break;
        }
        s-=Generatoare[i].energie;
        fin+=Generatoare[i].cost;
    }
    cout<<fin;
    return 0;
}