Cod sursa(job #3125867)

Utilizator amunnumeVlad Patrascu amunnume Data 4 mai 2023 18:21:28
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.71 kb
#include <bits/stdc++.h>
#define ll long long
using namespace std;
ifstream fin("deque.in");
ofstream fout("deque.out");
ll n,k,i,s,x;
deque<int> q,p;
int main()
{
    fin>>n>>k;
    for(i=1;i<=n;++i)
    {
        fin>>x;
        if(i==1)
        {
            q.push_back(x);
            p.push_back(1);
            continue;
        }
        while(!q.empty() && x<q.front())
        {q.pop_front(); p.pop_front();}

        q.push_front(x); p.push_front(i);
        if(i<k) continue;
        if(i==k)
        {
            s+=q.back();
            continue;
        }
        while(p.back()<i-k+1) {p.pop_back(); q.pop_back();}
        s+=q.back();
    }
    fout<<s;
    return 0;
}