Cod sursa(job #2449587)

Utilizator LeCapataIustinian Serban LeCapata Data 20 august 2019 09:50:12
Problema Energii Scor 5
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.79 kb
#include <fstream>

using namespace std;

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

struct generator
{
    int e;
    int c;
};

generator v[1001];
long long cost[1001];
long long prod[1001];

int main()
{
    int g, w, poz=0, minim=10001;

    in>>g>>w;
    for(int i=1; i<=g; i++)in>>v[i].e>>v[i].c;

    for(int i=1; i<=g; i++)
    {
        if(prod[i-1]+v[i].e<=w)
        {
            prod[i]=prod[i-1]+v[i].e;
            cost[i]=cost[i-1]+v[i].c;
        }
        else
        {
            prod[i]=v[i].e;
            cost[i]=v[i].c;
        }
    }

    for(int i=1; i<=g; i++)
        if(prod[i]>=w && cost[i]<minim)
        {
            minim=cost[i];
            poz=i;
        }

    if(poz==0)out<<"-1";
    else out<<cost[poz];

    in.close();
    out.close();
    return 0;
}