Cod sursa(job #2625894)

Utilizator toxic4ttoxic4t toxic4t Data 6 iunie 2020 10:45:59
Problema Branza Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.64 kb
#include <bits/stdc++.h>

using namespace std;

int c[100001], p[100001], addit[100001];
int n, s, t, answ = 0, l = 0, r = -1;

int main()
{
    ifstream fin ("branza.in");
    ofstream fout ("branza.out");


    fin >> n >> s >> t;

    for (int i = 0; i < n; i++)
        fin>> c[i] >> p[i];
    fin.close();

    for (int i = 0; i < n; i++){
        if (l <= r && addit[l] == (i-t))
            l++;
        while (l <= r && c[i] <= c[addit[r]] + (i-addit[r])*s)
            r--;
        addit[++r] = i;
        answ = answ + (c[addit[l]] + (i-addit[l])*s)*p[i];
}

    fout << answ;
    fout.close();
    return 0;
}