Cod sursa(job #2610289)

Utilizator icc577Constantinescu Iustinian Cristian icc577 Data 4 mai 2020 18:12:03
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.57 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream in ("deque.in");
ofstream out ("deque.out");

#define N 5000000
int v[N],d[N];

int main()
{
    int n,k,s;
    int r,l; ///deque
    long long res=0;
    r=l=0;
    in>>n>>k;
    for(int i=0;i<n;i++)
    {
        in>>v[i];
    }
    for(int i=0;i<n;i++)
    {
        if(l<r&&d[l]==i-k)
        {
            l++;
        }
        while(l<r&&v[i]<=v[d[r-1]])
        {
            r--;
        }
        d[r++]=i;
        if(i>=k-1)
        {
            res+=v[d[l]];
        }
    }
    out<<res;
    return 0;
}