Cod sursa(job #1313277)

Utilizator savigunFeleaga Dragos-George savigun Data 10 ianuarie 2015 15:08:47
Problema Energii Scor 45
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.93 kb
#include <iostream>
#include <fstream>
using namespace std;

int main()
{
    ifstream in("energii.in");
    ofstream out("energii.out");

    int n, w, i, j, ct=0, k=0, s=0;
    float ef[1001], c[1001], e[1001], aux;

    in>>n>>w;

    for(i=1;i<=n;i++)
    {
        in>>e[i]>>c[i];
        ef[i]=c[i]/e[i];
    }

    for(i=1;i<=n;i++)
        s=s+e[i];
    if(s>=w){
    for(i=1;i<=n-1;i++)
    {
        for(j=i+1;j<=n;j++)
        {
            while(ef[i]>ef[j])
            {
                aux=ef[i];
                ef[i]=ef[j];
                ef[j]=aux;
                aux=e[i];
                e[i]=e[j];
                e[j]=aux;
                aux=c[i];
                c[i]=c[j];
                c[j]=aux;
            }
        }
    }
    i=1;
    while(k<w)
    {
        ct=ct+c[i];
        k=k+e[i];
        i++;
    }
    out<<ct;
    }else
    out<<"-1";
    return 0;
}