Cod sursa(job #2658892)

Utilizator Leonard123Mirt Leonard Leonard123 Data 15 octombrie 2020 13:38:51
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.58 kb
#include<bits/stdc++.h>
#define maxn 5000005
using namespace std;

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

int sir[maxn], nr, k;
long long sum;
deque <int>  secventa;

int main() {
    fin >> nr >> k;
    for (int i = 1; i <= nr; i++) {
        fin >> sir[i];
        while(secventa.empty() != 1 && sir[secventa.back()] >= sir[i])
            secventa.pop_back();
        secventa.push_back(i);
        if(secventa.front() <= i - k)
            secventa.pop_front();
        if(i >= k)
            sum += sir[secventa.front()];
    }
    fout << sum;
}