Cod sursa(job #857257)

Utilizator mestMarius Isvan mest Data 17 ianuarie 2013 17:26:39
Problema Energii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.79 kb
#include <fstream>

using namespace std;
ifstream fo("energii.in");
ofstream go("energii.out");
int e[101],c[101],i,g,w,se;
void citire()
{
    fo>>g>>w;
    for(i=1;i<=g;i++)
    {
        fo>>e[i];
        fo>>c[i];
    }
    fo.close();
}
void sortare()
{
    int x,j;
    for(i=1;i<g;i++)
        for(j=i+1;j<=g;j++)
            if(e[i]<e[j])
            {
            x=e[i];
            e[i]=e[j];
            e[j]=x;
            x=c[i];
            c[i]=c[j];
            c[j]=x;
            }
}
void sol()
{
    int sw=0;
    sortare();
    for(i=1;i<=g;i++)
    {
        if(se<w)
        se=se+e[i];
        if(se>=w)   {go<<c[i]; se=-1*c[i];sw=1;}
    }
    if(sw==0) go<<"-1";
}
int main()
{
    citire();
    sol();
    go.close();
    return 0;
}