Cod sursa(job #2772258)

Utilizator d_rawGroza Mihai-Octavian d_raw Data 31 august 2021 14:52:14
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.68 kb
#include <bits/stdc++.h>

using namespace std;

int v[5000000], coada[5000000];
long long curs = 0;

int main()
{
    ifstream fin("deque.in");
    ofstream fout("deque.out");
    int n, k, dr = 0, st = 1, i;
    fin >> n >> k;
    for(i = 1; i <= k; i++){
        fin >> v[i];
        while(st <= dr && v[i] < v[coada[dr]])
            dr--;
        coada[++dr] = i;
    }
    curs += v[coada[st]];
    for(; i <= n; i++){
        fin >> v[i];
        while(st <= dr && coada[st] <= i-k)
            st++;
        while(st <= dr && v[i] < v[coada[dr]])
            dr--;
        coada[++dr] = i;
        curs += v[coada[st]];
    }
    fout << curs;
    return 0;
}