Cod sursa(job #2060754)

Utilizator VladimirPopa123Vladimir Popa VladimirPopa123 Data 8 noiembrie 2017 18:04:32
Problema Branza Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.43 kb
#include<fstream>
using namespace std;
ifstream fin("branza.in");
ofstream fout("branza.out");

int c[100001],d[100001];

int main()
{
    long long st=0,dr=-1,p,n,s,sum=0,t;
    fin>>n>>s>>t;
    t++;
    for(int i=1;i<=n;i++)
    {
        fin>>c[i]>>p;
        if(st<=dr&&d[st]==i-t) st++;
        while(st<=dr&&c[i]<=c[d[dr]]+s*(i-d[dr])) dr--;
        d[++dr]=i;
        sum+=p*(c[d[st]]+s*(i-d[st]));
    }
    fout<<sum;
    return 0;
}