Cod sursa(job #2047033)

Utilizator dianamariaDiana Cataros dianamaria Data 24 octombrie 2017 14:52:27
Problema Branza Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.56 kb
#include <fstream>

using namespace std;

ifstream in ("branza.in");
ofstream out ("branza.out");
const int N=100003;
int v[N], deq[N];

int main()
{
    int n,s,t,i,st=0,dr=-1,cant;
    long long sum=0;
    in>>n>>s>>t;
    t++;
    for (i=1;i<=n;i++)
    {
        in>>v[i]>>cant;
        if (st<=dr && deq[st]==i-t)
            st++;
        while (st<=dr && v[i]<=v[deq[dr]]+(i-deq[dr])*s)
            dr--;
        dr++;
        deq[dr]=i;
        sum+=(long long)(v[deq[st]]+(i-deq[st])*s)*(long long)cant;
    }
    out<<sum;
    return 0;
}