Cod sursa(job #2544123)

Utilizator mihaimodiMihai Modi mihaimodi Data 11 februarie 2020 19:42:59
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.54 kb
#include <fstream>
#include <deque>
using namespace std;
ifstream fin("deque.in");
ofstream fout("deque.out");
long long v[5000001];
long long s;
int n,k;
deque <int> dq;
int main()
{
    fin>>n>>k;
    for(int i=1;i<=n;i++)
        fin>>v[i];
    for(int i=1;i<=n;i++)
    {
        while(!dq.empty()&&v[i]<v[dq.back()])
            dq.pop_back();
        dq.push_back(i);
        while(!dq.empty()&&i-dq.front()>=k)
            dq.pop_front();
        if(i>=k)
            s+=v[dq.front()];
    }
    fout<<s;
    return 0;
}