Cod sursa(job #2207449)

Utilizator cristianritaCristian Rita cristianrita Data 25 mai 2018 18:56:13
Problema Deque Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.55 kb
#include<fstream>
#include<deque>
#include<vector>

using namespace std;

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

deque<int> d;
vector<int> a;

int main() {
    int n, k,x;
    in>>n>>k;

    long long sum = 0LL;

    for(int i = 0; i < n; i++) {
        in>>x;
        a.push_back(x);
    }

    for(int i = 0; i < n; i++) {
        while(!d.empty() && a[i] < a[d.back()])
            d.pop_back();
        d.push_back(i);

        if(i - k == d.front()) d.pop_front();

        if(i >= k - 1)
            sum += a[d.front()];
    }

    out<<sum;
}