Cod sursa(job #2283935)

Utilizator minecraft3Vintila Valentin Ioan minecraft3 Data 16 noiembrie 2018 09:22:49
Problema Deque Scor 25
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.6 kb
#include <bits/stdc++.h>
using namespace std;

long long v[5000005], d[5000005];

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

    int n, k, st=1, dr=0, x, i, S = 0;
    fin >> n >> k;
    for(i = 0; i < k; ++i)
    {
        fin >> v[i];
        while(st <= dr && v[d[dr]] > v[i])
            --dr;
        d[++dr] = i;
    }
    S += v[d[st]];
    for(; i < n; ++i)
    {
        if(d[st] <= i-k)
            ++st;
        fin >> v[i];
        while(st <= dr && v[d[dr]] > v[i])
            --dr;
        d[++dr] = i;
        S += v[d[st]];
    }

    fout << S;
    return 0;
}