Cod sursa(job #2236330)

Utilizator cezarzbughinCezar Zbughin cezarzbughin Data 29 august 2018 10:25:29
Problema Deque Scor 60
Compilator cpp Status done
Runda Arhiva educationala Marime 0.57 kb
#include <bits/stdc++.h>

using namespace std;
ifstream f("deque.in");
ofstream g("deque.out");
const int N=5000010;
int n,k,a[N];
list<int> q;
long long sol;
int main()
{
    f>>n>>k;
    for(int i=1;i<=n;i++)f>>a[i];

    for(int i=1;i<k;i++)
    {
        while(q.size()&&a[i]<=a[q.back()])q.pop_back();
        q.push_back(i);
    }
    for(int i=k;i<=n;i++)
    {
         while(q.size()&&a[i]<=a[q.back()])q.pop_back();
        q.push_back(i);
        sol+=a[q.front()];
        if(q.front()==i-k+1) q.pop_front();
    }
    g<<sol;
    return 0;
}