Cod sursa(job #2490949)

Utilizator ruxiTTutunaru Ruxandra ruxiT Data 11 noiembrie 2019 15:06:03
Problema Branza Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.75 kb
#include <iostream>
#include <fstream>
const int N = 100000;

int dq[N];
int c[N];
int p[N];
int pret[N];

using namespace std;

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

int main()
{
    int n, s, t, m = 0, i, st = 0, dr = -1, sum = 0;
    fin >> n >> s >> t;
    for (i = 0; i < n; i++)
    {
        fin >> c[i] >> p[i];
        pret[i] = c[i] * p[i];
    }
    for (i = 0; i < n; i++)
    {
        if (dq[st] == i - t)
            st++;
        while (st <= dr && pret[i] <= pret[dq[dr]])
            dr--;
        dq[++dr] = i;
        if (i >= t - 1)
            sum += pret[dq[st]];
    }
    int k = 10;
    for (i = st + 1; i < n; i++)
    {
        m += (c[st] + k) * p[i];
        k += 10;
    }
    sum += m;
    fout << sum;
    return 0;
}