Cod sursa(job #2728284)

Utilizator TonioAntonio Falcescu Tonio Data 22 martie 2021 23:50:23
Problema Deque Scor 25
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.54 kb
#include <bits/stdc++.h>

using namespace std;

int n, k, a[5000001], idx[5000001], stanga, dreapta, suma;

int main()
{
ifstream in("deque.in");
ofstream out("deque.out");
in >> n >> k;
for(int i = 1; i <= n; i++)
    in >> a[i];
stanga = 1;
dreapta = 0;
for(int i = 1; i <= n; i++)
{
    while(stanga <= dreapta and a[i] <= a[idx[dreapta]])
        dreapta--;
    dreapta++;
    idx[dreapta] = i;
    if(idx[stanga] == i - k)
        stanga++;
    if(i >= k)
        suma += a[idx[stanga]];
}
out << suma;
    return 0;
}