Cod sursa(job #2858382)

Utilizator andrew.tulba@yahoo.comAndrei Tulba [email protected] Data 27 februarie 2022 14:05:11
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.6 kb
#include <iostream>
#include <fstream>
#include <cstring>
#include <deque>

using namespace std;

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

int main()
{
    int n, k, v[5000000];
    long long s=0;
    deque <int> q;
    fin >> n >> k;
    for (int i=1; i<=n; i++){
        fin >> v[i];
    }
    for (int i=1; i<=n; i++){
        while (!q.empty() && v[q.back()]>v[i]){
            q.pop_back();
        }
        q.push_back(i);
        if (q.front()<i-k+1)
            q.pop_front();
        if (i>=k)
            s+=v[q.front()];
    }
    fout << s;
    return 0;
}