Cod sursa(job #2760278)

Utilizator ioana2008vIoana Velniceru ioana2008v Data 24 iunie 2021 15:54:56
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.63 kb
#include <iostream>
#include <fstream>

using namespace std;

const int N_MAX = 5000001;
int st = 0, dr = -1, val[N_MAX], deq[N_MAX], n, k;
long long s;

int main()
{
    ifstream fi ("deque.in");
    ofstream fo ("deque.out");
    fi >> n >> k;
    for (int i = 0; i < n; i++){
        fi >> val[i];
        if (st <= dr && deq[st] == i - k){
            st++;
        }
        while (st <= dr && val[i] <= val[deq[dr]]){
            dr--;
        }
        deq[++dr] = i;
        if (i >= k - 1){
            s += val[deq[st]];
        }
    }
    fo << s;
    fi.close();
    fo.close();
    return 0;
}