Cod sursa(job #2879608)

Utilizator MihneaStoicaMihnea Teodor Stoica MihneaStoica Data 28 martie 2022 19:41:39
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.63 kb
#include <fstream>
#include <deque>
#define MAX  5000002

using namespace std;

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

int n, k, x;
int v[MAX];
long long s;
deque<int> d;

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