Cod sursa(job #3187654)

Utilizator Bianca2507Negret Bianca Bianca2507 Data 29 decembrie 2023 20:42:04
Problema Branza Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.58 kb
#include <fstream>
#include <deque>
#define nmax  100000
using namespace std;
ifstream cin("branza.in");
ofstream cout("branza.out");
long long n,s,t,c[nmax+5],p;
deque<long long>dq;
long long sol=0;
int main()
{
    cin>>n>>s>>t;
    dq.push_back(1);
    for(int i=1;i<=n;i++)
    {
        cin>>c[i]>>p;
        while(!dq.empty()&&c[i]<=c[dq.back()]+(i-dq.back())*s)
            dq.pop_back();
        dq.push_back(i);
        sol+=( c[dq.front()]+(i-dq.front())*s )*p;
        if(i-dq.front()==t)
            dq.pop_front();
    }
    cout<<sol;
    return 0;
}