Cod sursa(job #3126230)

Utilizator TirilaPatricTirila Patric-Gabriel TirilaPatric Data 6 mai 2023 13:30:24
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.63 kb
#include <iostream>
#include <fstream>
#include <stack>
#include <deque>
#include <vector>
using namespace std;

int main(){
    ifstream f("deque.in");
    ofstream g("deque.out");
    int N, K;
    long long sum = 0;
    int st=0, dr=0, a, i = 0, m = 0;
    f >> N >> K;
    vector<int> Q(N+1), V(N+1);
    while(f>>a){
        V[i] = a;
        m+=1;
        while (dr-st>0 && V[i] <= V[Q[dr-1]]){
            dr-=1;
        }
        Q[dr] = i; dr+=1;
        if(Q[st]<=i-K){
            st++;
        }
        if (m>=K){
            sum += V[Q[st]];
        }
        i++;
    }
    g << sum;
    f.close();
    g.close();

    return 0;
}