Cod sursa(job #2510602)

Utilizator Dragos1226Dragos Chileban Dragos1226 Data 16 decembrie 2019 22:16:54
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.58 kb
#include<fstream>
#include<deque>
using namespace std;
ifstream in("deque.in");
ofstream out("deque.out");
deque <int> Q;
int n, k, arr[5000000];
long long Sol;
int main() {
    in >> n >> k;
    for (int i = 0; i < n; i++)
        in >> arr[i];

    for (int i = 0; i < n; i++) {
        while(!Q.empty() && arr[i] <= arr[Q.back()])
            Q.pop_back();
        Q.push_back(i);
        if(!Q.empty() && Q.front() <= i-k)
            Q.pop_front();
        if(!Q.empty() && i>=k-1) {
            Sol -=- arr[Q.front()];
        }
    }

    out << Sol << '\n';
}