Cod sursa(job #2624752)

Utilizator anacomoAna-Maria Comorasu anacomo Data 5 iunie 2020 11:46:33
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.57 kb
#include <iostream>
#include <fstream>
using namespace std;

ifstream fin("deque.in");
ofstream fout("deque.out");
int n, k, a[5000001], deq[5000001], rez;
int main()
{
    fin >> n >> k;
    int back = 0;
    int front = 1;
    long long rez = 0;
    for (int i = 1; i <= n; i++)
        fin >> a[i];
    for (int i = 1; i <= n; i++)
    {
        while (front <= back && a[i] <= a[deq[back]])
            back--;
        deq[++back] = i;
        if (i - k == deq[front])
            front++;
        if (i >= k)
            rez += a[deq[front]];
    }
    fout << rez;
    return 0;
}