Cod sursa(job #3126932)

Utilizator JuliaG03Julia Grasu JuliaG03 Data 7 mai 2023 02:15:53
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.63 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("deque.in");
ofstream fout("deque.out");
const int nmax = 5000010;
int k,n;
int a[nmax], deque[nmax];
int inceput, sfarsit;
long long suma;

int main()
    {


fin>>n;
fin>>k;

for (int i=1;i<=n;i++)
        fin >> a[i];

inceput = 1, sfarsit = 0;

for (int i=1;i<=n;i++)
    {while (inceput <= sfarsit && a[i] <= a[deque[sfarsit]])
        sfarsit--;
    deque[++sfarsit] = i;
    if (deque[inceput] == i-k) inceput++;
    if (i >= k) suma += a[deque[inceput]];
    }

    fout << suma << '\n';
fin.close();
fout.close();
    return 0;
}