Cod sursa(job #3367876)

Utilizator ste_sabSabau Stefan ste_sab Data 11 octombrie 2026 17:02:49
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.88 kb
#include <iostream>
#include <bits/stdc++.h>
using namespace std;

deque<long long> d;
vector <int> A;

int main()
{
    ifstream fin ("deque.in");
    ofstream fout ("deque.out");
    long long n,k;
    fin >> n >> k;
    A.resize(n);
    for(int i=0; i<n; i++){
        fin >> A[i];
    }

    for(int i=0; i<k; i++){
        while(!d.empty() && A[d.back()]>=A[i]){
            d.pop_back();
        }
        d.push_back(i);
    }
    long long s=0;
    s+=A[d.front()];
    //fout << A[d.front()] << " ";
    for(int i=k; i<n; i++){
        while(!d.empty() && A[d.back()]>=A[i]){
            d.pop_back();
        }
        d.push_back(i);
        while(!d.empty() && d.front()<=i-k){
            d.pop_front();
        }
        s+=A[d.front()];
        //fout << A[d.front()] << " ";
    }
    //fout << "\n";
    fout << s;



    return 0;
}