Cod sursa(job #2031888)

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

#define f first
#define s second

using namespace std;

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

long long n, S, t, c, p;
long long sum;
deque<pair<long long, int> > 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;
}