Cod sursa(job #2031875)

Utilizator marvelousMarvelous marvelous Data 3 octombrie 2017 22:26:11
Problema Branza Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <bits/stdc++.h>

#define f first
#define s second

using namespace std;

ifstream F("branza.in");
ofstream G("branza.out");

unsigned long long n, S, t, c, p;
unsigned long long sum;
deque<pair<unsigned long long, long long> > dq;

int main()
{
    F>>n>>S>>t;
    for(int i = 1; i <= n;++ i)
    {
        F >> c >> p;
        while(!dq.empty()&&((i-dq.front().s)*S+dq.front().f)>c) dq.pop_front();
        dq.push_back({c, i});
        ///pair<long long, int> x=dq.front();
        if(!dq.empty()) sum+=((i-dq.front().s)*1LL*S+dq.front().f)*1LL*p;
        if(!dq.empty()&&i-dq.front().s==t) dq.pop_front();
    }
    G << 1LL*sum;
    return 0;
}