Cod sursa(job #2484499)

Utilizator BatedCrayonBratosin David - Robert BatedCrayon Data 31 octombrie 2019 10:05:53
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.57 kb
#include <fstream>
#include <deque>
#define nmax 5000010

using namespace std;

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

long long int S;
int N,K;
int A[nmax];

deque <int> Q;
int main()
{
    in>>N>>K;

    for(int i = 1; i <= N; i++)
        in>>A[i];

    for(int i = 1; i <= N; i++)
    {
        while(!Q.empty() && A[i] <= A[Q.back()])
            Q.pop_back();

        Q.push_back(i);

        if(Q.front() == i-K)
            Q.pop_front();

        if(i >= K)
            S += A[Q.front()];
    }

    out<<S;
    return 0;
}