Cod sursa(job #1969461)

Utilizator waren4Marius Radu waren4 Data 18 aprilie 2017 14:38:06
Problema Deque Scor 25
Compilator cpp Status done
Runda Arhiva educationala Marime 0.65 kb
#include <iostream>
#include <fstream>
#include <algorithm>
#include <vector>
#include <queue>
using namespace std;

ifstream f("deque.in"); ofstream g("deque.out");

int n, st, dr, s, a[5000003], d[5000003], k;

int main() {
    int i;
    f>>n>>k;
    st = 1;
    dr = 0;
    s = 0;
    for(i = 1; i <= n; ++i) {
        f>>a[i];
    }
    for(i = 1; i <=n; ++i) {
        while(st <= dr && a[i] <= a[d[dr]] ) {
            --dr;
        }
        ++dr;
        d[dr] = i;
        if(i >= k) {
            if(d[st] <= i - k) {
                ++st;
            }
            s += a[d[st]];
        }
    }
    g<<s;
    return 0;
}