Cod sursa(job #3242854)

Utilizator Vlad_NistorNIstor Vlad Vlad_Nistor Data 14 septembrie 2024 12:16:18
Problema Branza Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.64 kb
#include <bits/stdc++.h>
using namespace std;

long long int dq[100009], a[100008];
int main(void){
    ofstream cout("branza.out");
    ifstream cin("branza.in");
    int n,s,t;
    cin >> n >> s >> t;
    int first = 1, second = 0;
    long long int ans = 0;
    for(int i = 1;i<=n;i++){
        int c,e;
        cin >> c >> e;
        a[i] = c;
        while(first <= second && c<= a[dq[second]] + (i - dq[second]) * s){
            second--;
        }
        dq[++second] = i;
        ans += (a[dq[first]]+ (i - dq[first]) * s) * e;
        if(i - dq[first] == t){
            first++;
        }
    }
    cout << ans;
}