Cod sursa(job #3214783)

Utilizator _andrei4567Stan Andrei _andrei4567 Data 14 martie 2024 14:02:51
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.57 kb
#include <fstream>
#include <deque>

using namespace std;

ifstream cin ("deque.in");
ofstream cout ("deque.out");

const int N = 5e6;
int a[N + 1];

int n, k;

long long sum;

deque <int> d;

int main()
{
    cin >> n >> k;
    for (int i = 1; i <= n; ++i)
    {
        cin >> a[i];
        while (!d.empty() && i - d.front() >= k)
            d.pop_front();
        while (!d.empty() && a[d.back()] > a[i])
            d.pop_back();
        d.push_back(i);
        if (i >= k)sum += a[d.front()];
    }
    cout << sum << '\n';
    return 0;
}