Cod sursa(job #2624926)

Utilizator RomanacheRoman Alexandru-George Romanache Data 5 iunie 2020 16:42:51
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.78 kb
#include <fstream>

#define N 5000005

using namespace std;

fstream f("deque.in",ios::in);
fstream g("deque.out",ios::out);

int n,k,vect_deq[N],poz[N],st,dr,m;
long long ans;

int main()
{
    f>>n>>k;
    f>>vect_deq[dr++];
    for(int i=1;i<k;i++)
    {
        int val;
        f>>val;
        while(st<dr && val<vect_deq[dr-1])
            dr--;
        vect_deq[dr]=val;
        poz[dr++]=i;
    }
    ans+=vect_deq[st];
    m++;
    if(poz[st]<m)
        st++;
    for(int i=k;i<n;i++)
    {
        int val;
        f>>val;
        while(st<dr && val<vect_deq[dr-1])
            dr--;
        vect_deq[dr]=val;
        poz[dr++]=i;
        ans+=vect_deq[st];
        m++;
        if(poz[st]<m)
            st++;
    }
    g<<ans;

    return 0;
}