Cod sursa(job #2887449)

Utilizator andlftLefter Andrei andlft Data 9 aprilie 2022 17:27:03
Problema Deque Scor 10
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.63 kb
#include <iostream>
#include <fstream>


using namespace std;

int deq[5000005];
int poz[5000005];

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

int n, k;
fin >> n >> k;



int aux;
long long suma = 0;
int st, dr;

st = 0;
dr = 0;

for(int i = 0; i < n; i++)
{
    fin>>aux;
    while(st <= dr && aux < deq[dr] )
    {
        dr--;
    }
    dr++;
    deq[dr] = aux;
    poz[dr] = i;

    while(poz[st]< poz[dr] - k + 1)
    {
        st++;
    }

    if(i > k - 2)
    {
        suma += deq[st];
    }
}


fout<<suma;


fin.close();
fout.close();
    return 0;
}