Cod sursa(job #2362145)

Utilizator Raresr14Rosca Rares Raresr14 Data 2 martie 2019 22:27:42
Problema Branza Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.5 kb
#include <fstream>
using namespace std;
ifstream fin("branza.in");
ofstream fout("branza.out");
long long n,s,k,i,p,u,sol,c[100010],t[100010],d[100010];
int main (){
    fin>>n>>s>>k;
    for(i=1;i<=n;i++)
        fin>>c[i]>>t[i];
    p=u=d[1]=1;
    sol+=c[1]*t[1];
    for(i=2;i<=n;i++){
        while(p<=u&&c[d[u]]+(i-d[u])*s>=c[i])
            u--;
        d[++u]=i;
        if(i-d[p]==k+1)
            p++;
        sol+=(c[d[p]]+(i-d[p])*s)*t[i];
    }
    fout<<sol;
    return 0;
}