Cod sursa(job #3148125)

Utilizator IlieMarius05Ilie Marius Cristian IlieMarius05 Data 29 august 2023 14:23:43
Problema Energii Scor 5
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.46 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("energii.in");
ofstream g("energii.out");
int neg=-1;
int main()
{int G, W, EG[10005], CG[10005], aux, SumaCost=0, EnergieTotala=0;
    double Raport=-1, j;
    f>>G>>W;
    for(int i=1; i<=G; i++)
    {
        f>>EG[i];
        f>>CG[i];
        EnergieTotala=EnergieTotala+EG[i];
    }
    if(EnergieTotala>=W)
    {
    while(W>0)
    {   Raport=-1;
        for(int i=1; i<=G; i++)
        {   if(W-EG[i]>0)
        {


            if(CG[i]!=0&&EG[i]!=0)
        {
            if(CG[i]!=0)
        {
                j=EG[i]/CG[i];
        }
            else
            {

                j=EG[i];
            }
        if(Raport<j)
            {   if((W-EG[i])>0)
            {

                Raport=j;
                aux=i;
            }
            else
            {
                SumaCost=SumaCost-CG[aux];
                W=W+EG[aux];
                Raport=j;
                aux=i;
            }
            }
        }
        }
        else
        {
            SumaCost=SumaCost+CG[i];
            W=W-EG[i];
            Raport=j;
            aux=i;
            EG[aux]=0;
            CG[aux]=0;
        }
        W=W-EG[aux];
        SumaCost=SumaCost+CG[aux];
        EG[aux]=0;
        CG[aux]=0;
        }

    }
    g<<SumaCost;
    }
    else
    {
        g<<neg;
    }
    f.close();
    g.close();
    return 0;
}