Cod sursa(job #2888348)

Utilizator adamemi02emanuel adam adamemi02 Data 10 aprilie 2022 23:25:08
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.6 kb
#include <fstream>
using namespace std;
ifstream fin("deque.in");
ofstream fout("deque.out");
int poz[5000001], v[5000001];
int n, k,st,dr;
long long s;
int main()
{
    s=0;
    fin>>n>>k;
    for(int i = 1; i <= n; i++)
        fin>>v[i];
    st=1;
    dr=0;
    for(int i = 1; i <= n; i++) {
        while(st<=dr && v[i] <= v[poz[dr]])
        {
            dr--;
        }
        dr++;
        poz[dr]=i;
        if(i >= k) {
            s += v[poz[st]];
            if(poz[st] == i - k + 1) {
                st++;
            }
        }
    }
    fout<<s;

    return 0;
}