Cod sursa(job #2395523)

Utilizator AlexNeaguAlexandru AlexNeagu Data 2 aprilie 2019 17:33:07
Problema Deque Scor 25
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.67 kb
#include <fstream>
#include <deque>

using namespace std;
const int NMAX=5000005;

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

deque < int > DQ;
int V[NMAX],N,M,SUMA=0;

int main()
{
    fin>>N>>M;
    for (int i=1; i<M; i++)
    {
        fin>>V[i];
        while (!DQ.empty()&&V[i]<V[DQ.back()])
            DQ.pop_back();
        DQ.push_back(i);
        }

    for (int i=M; i<=N; i++)
    {
        fin>>V[i];
        while(!DQ.empty()&&V[i]<V[DQ.back()])
            DQ.pop_back();
        DQ.push_back(i);
        SUMA+=V[DQ.front()];
        if(DQ.front()==i-M+1)
            DQ.pop_front();
    }
    fout<<SUMA<<"\n";
    return 0;
}