Cod sursa(job #2617236)

Utilizator denisa.iordacheIordache Denisa-Elena denisa.iordache Data 21 mai 2020 01:31:47
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.66 kb
#include <iostream>
#include <fstream>
#define maxi 5000010
int A[maxi],deq[maxi];
int fr, b;
void pop_front()
{
    fr++;
}

void pop_back()
{
    b--;
}

void push_back(int val)
{
    b++;
    deq[b]=val;
}
using namespace std;
int main()
{
   ifstream f ("deque.in");
   ofstream g ("deque.out");
   int N,K;
   long long s=0;
   f>>N>>K;
   for(int i=1;i<=N;i++)
        f>>A[i];
    fr=1;b=0;
    for(int i=1;i<=N;i++)
    {
        while(fr<=b && A[i]<=A[deq[b]])
                pop_back();

        push_back(i);
        if(deq[fr]==i-K) pop_front();
        if(i>=K)
            s+=A[deq[fr]];
    }

   g<<s;



}