Cod sursa(job #2572896)

Utilizator mihailrazMihail Turcan mihailraz Data 5 martie 2020 14:49:07
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.56 kb
#include <fstream>
#include <deque>

using namespace std;
ifstream fi("deque.in");
ofstream fo("deque.out");
const int nmax=5e6;
int n, k;
int X[nmax+5];
long long s;
deque <int> D;

int main()
{
    fi>>n>>k;
    for(int i=1; i<=n; i++)
    {
        while(!D.empty() && D.front()<i-k+1)
            D.pop_front();
        fi>>X[i];
        while(!D.empty() && X[i]<=X[D.back()])
            D.pop_back();
        D.push_back(i);
        if(i>=k)
            s+=X[D.front()];
    }
    fo<<s;
    fi.close();
    fo.close();
    return 0;
}