Cod sursa(job #940369)

Utilizator alexblackFMI - Dumitrache Alexandru alexblack Data 16 aprilie 2013 08:16:36
Problema Energii Scor 45
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
ifstream in ("energii.in");
ofstream out("energii.out");
struct gen{int e,c;double r;};
int const N=1005;
int g,w,total,cost;
gen gn[N];
bool cmp(gen x, gen y)
{
    if(x.r>y.r) return true;
    return false;
}
int main()
{
    in>>g>>w;
    for(int i=1;i<=g;i++)
    {
        in>>gn[i].e>>gn[i].c;
        gn[i].r=(double)gn[i].e/gn[i].c;
    }
    sort(gn+1,gn+g+1,cmp);
    int i=1;
    while((total<w)&&(i<=g))
    {
        total+=gn[i].e;
        cost+=gn[i].c;
        i++;
    }
    if(total>=w)    out<<cost<<"\n";
    else            out<<"-1\n";
    return 0;
}