Cod sursa(job #1095499)

Utilizator TzenyTenescu Andrei Tzeny Data 31 ianuarie 2014 11:20:21
Problema Energii Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.93 kb
#include <fstream>

using namespace std;

ifstream fin("energii.in");
ofstream fout("energii.out");

int i,g,pN,powerNow,costNow;

struct gen{
    int en,cos;
    float ef;
};

gen v[1001];

int main()
{
    fin >> g >> pN;
    for(i=0;i<g;i++)
    {
        fin >> v[i].en;
        fin >> v[i].cos;
        v[i].ef = (float)v[i].en/v[i].cos;
    }

    bool done = false;
    while(!done){
        done = true;
        for(i=0;i<g-1;i++)
        {
            if(v[i].ef<v[i+1].ef){
                gen temp;
                temp = v[i];
                v[i] = v[i+1];
                v[i+1] = temp;
                done = false;
            }
        }
    }

    for(i=0;i<g;i++){
        powerNow += v[i].en;
        costNow += v[i].cos;
        if(powerNow>=pN)
        {
            fout << costNow;
            break;
        }
    }

    if(pN<powerNow)
        fout << -1;

    return 0;
}