Cod sursa(job #2718007)

Utilizator rapidu36Victor Manz rapidu36 Data 8 martie 2021 12:28:06
Problema Branza Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.62 kb
#include <fstream>

using namespace std;

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

int x[100005], v[100005], y[100005];

int main()
{
    int n, st = 1, dr = 0, s, t, i, af;
    in >> n >> s >> t;
    t++;
    for (i=1; i<=n; i++)
        in >> x[i] >> v[i];
    y[++dr] = 1;
    af = x[1] * v[1];
    for (i=2 ; i <= n; i++)
    {
        while (st <= dr && x[i] <= (i - y[dr]) * s + x[y[dr]])
            dr--;
        dr++;
        y[dr] = i;
        if (i - t == y[st])
            st++;
        af += (x[y[st]] + (long long)s * (i - y[st])) * v[i];
    }
    out<< af;
    return 0;
}