Cod sursa(job #2974761)

Utilizator ShadowZoidPorojan Victor-Andrei ShadowZoid Data 4 februarie 2023 15:52:35
Problema Branza Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.58 kb
#include <fstream>
#include <algorithm>
#include <cmath>
#include <cstring>
using namespace std;
const int N=2000000005;
ifstream cin("branza.in");
ofstream cout("branza.out");
int v[100005],x,d[100005],i,n,s,t,c,p,ul,pr;
long long S;
int main()
{
    cin>>n>>s>>t;
    d[1]=1;
    ul=pr=1;
    for(i=1;i<=n;i++)
    {
        cin>>c>>p;
        v[i]=c;
        while(pr<=ul&&c<=v[d[ul]]+(i-d[ul])*s)
            ul--;
        ul++;
        d[ul]=i;
        S+=(v[d[pr]]+(i-d[pr])*s)*1LL*p;
        if(i-d[pr]==t)
            pr++;
    }
    cout<<S;
    return 0;
}