Cod sursa(job #2730916)

Utilizator asdfsfafafafafafafafaJarca Andrei asdfsfafafafafafafafa Data 27 martie 2021 00:00:42
Problema Branza Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <iostream>
#include <fstream>
#include <deque>
#define x 100000
using namespace std;
int main()
{
    ifstream fis;
    fis.open("branza.in");
    ofstream gis;
    gis.open("branza.out");
    int n,s,t;
    fis>>n>>s>>t;
    deque <int> q;
    long long sum=0;
    int v[x];
    for(int i=0;i<n;i++)
    {
        int cost;
        fis>>v[i]>>cost;
        if(!q.empty() && i-t-1==q.front())
            q.pop_front();
        while(!q.empty() && v[i]<=(v[q.back()]+s*(i-q.back())))
            q.pop_back();
        q.push_back(i);
        sum += (long long)cost*(v[q.front()]+(long long)(i-q.front()) * s);
    }
    gis<<sum;
    return 0;
}