Cod sursa(job #2936947)

Utilizator Rux099Vasilescu Ruxandra Rux099 Data 9 noiembrie 2022 18:14:20
Problema Deque Scor 25
Compilator cpp-64 Status done
Runda cnilc1_2-dq Marime 0.67 kb
#include <bits/stdc++.h>
using namespace std;
ifstream f("deque.in");
ofstream g("deque.out");
int N, K, i, x, A[5000005], S;
deque<int> Deq;
int main()
{
    f >> N >> K;
    for(i = 1; i <= N; i ++)f >> A[i];

    Deq.push_back(1);
    for(i = 2; i <= K; i ++)
    {
        while(!Deq.empty() && A[Deq.back()] >= A[i])Deq.pop_back();
        Deq.push_back(i);
    }
    S = A[Deq.front()];

    for(i = K + 1; i <= N; i ++)
    {
        while(!Deq.empty() && A[Deq.back()] >= A[i])Deq.pop_back();
        Deq.push_back(i);
        if(Deq.back() - Deq.front() + 1 > K)Deq.pop_front();
        S += A[Deq.front()];
    }

    g << S;
    return 0;
}