Cod sursa(job #3337355)

Utilizator brianabucur11Briana Bucur brianabucur11 Data 27 ianuarie 2026 12:30:25
Problema Branza Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.7 kb
#include <bits/stdc++.h>
#define int long long

using namespace std;

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

const int nmax = 1e5 + 5;

deque <int> dq;

int n, s, t, c[nmax], p[nmax];

signed main ()
{
    fin >> n >> s >> t;
    for (int i = 1; i <= n; i++)
        fin >> c[i] >> p[i];
    int rez = 0;
    for (int i = 1; i <= n; i++)
    {
        while (!dq.empty () && c[i] <= c[dq.back ()] + s * (i - dq.back ()))
            dq.pop_back ();
        dq.push_back (i);
        while (!dq.empty () && i - dq.front () > t)
            dq.pop_front ();
        rez += p[i] * c[dq.front ()] + s * p[i] * (i - dq.front ());
    }
    fout << rez;
    return 0;
}