Cod sursa(job #2730169)

Utilizator Maria23Dutu Maria Maria23 Data 25 martie 2021 21:14:15
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.67 kb
#include <iostream>
#include <fstream>
#include <algorithm>

using namespace std;

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

    int n, k;
    fin>>n>>k;
    int  v[n + 1], d[n + 1];
    long long suma = 0;
    for(int i = 0; i < n; i ++){
        long long x;
        fin>>x;
        v[i] = x;
    }

    int st = 1, dr = 0;
    for(int i = 0; i < n; i ++){
        while(st <= dr and v[i] <= v[d[dr]]){
            dr --;
        }

        d[++dr] = i;

        if (d[st] == i - k) {
            st++;
        }

        if (i >= k - 1) {
            suma += v[d[st]];
        }
    }
    fout<<suma;

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