Cod sursa(job #2730505)

Utilizator Octavian21Chiriac Octavian Octavian21 Data 26 martie 2021 14:19:01
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.63 kb
#include <bits/stdc++.h>

using namespace std;

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

int a[5000001], indexx[5000001];

int main()
{
    long long suma=0;
    int n,k,i,st = 1, dr = 0;
    fin>>n>>k;
    for(i=1;i<=n;i++)
    {
        fin>>a[i];
    }
    for(i=1;i<=n;i++)
    {
        while(st<= dr && a[i] <= a[indexx[dr]])
        {
                dr--;
        }
        dr++;
        indexx[dr] = i;
        if(indexx[st] == i-k)
        {
            st++;
        }
        if(i>=k)
        {
            suma += a[indexx[st]];
        }
    }
    fout<<suma;
    return 0;
}