Cod sursa(job #2426425)

Utilizator SochuDarabaneanu Liviu Eugen Sochu Data 27 mai 2019 21:42:15
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.61 kb
#include <bits/stdc++.h>
#define NMAX 5000005

using namespace std;

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

deque < int > d;
int k , n;
int a[NMAX];
long long int ans;

int main()
{
    int  i;

    f >> n >> k;

    for(i=1;i<=n;i++)
        f >> a[i];

    d.push_front(1);

    for(i=1;i<=n;i++)
    {
        while(d.front() <= d.back() && a[i] <= a[d.back()])
            d.pop_back();

        d.push_back(i);

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

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

    g << ans;

    return 0;
}