Cod sursa(job #2888371)

Utilizator RosianuRobertRosianu Robert RosianuRobert Data 11 aprilie 2022 00:06:53
Problema Branza Scor 40
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <bits/stdc++.h>

using namespace std;
ifstream f("branza.in");
ofstream g("branza.out");
long long n,s=0,t,c,p,k,cifre,cif,i,cifre2,nrcif,v[100001],first = 1,sec,rez,Max,cerere[100001],last = 0;
long long Deq1[100001],Deq2[100001],taxa;
int main()
{
    f>>n>>taxa>>k;
    for(i=1; i<=n; i++)
    {
        f>>v[i]>>cerere[i];
    }
    for(i=1; i<=n; i++)
    {
        while(v[i]<=v[Deq1[last]] + taxa * (i - Deq1[last]))
        {
            if(first > last)
                break;
            else
                last--;
        }
        last++;
        Deq1[last]=i;
        if(Deq1[first] == i - k)
            first++;
        s+=1LL*(v[Deq1[first]] + taxa * (i - Deq1[first])) * cerere[i];
    }
    g<<s;
    return 0;
}