Cod sursa(job #2870946)

Utilizator BlueLuca888Girbovan Robert Luca BlueLuca888 Data 12 martie 2022 18:48:17
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.68 kb
#include <bits/stdc++.h>
#pragma GCC optimize ("Ofast")

using namespace std;

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

const int MAX_N = 5000005;

deque <int> minn;
int n, k, v[MAX_N];
long long sol;

int main (){
    ios_base::sync_with_stdio(false);
    fin.tie(nullptr);
    fout.tie(nullptr);

    fin>>n>>k;
    for(int i=1; i<=n; i++){
        fin>>v[i];
        while(!minn.empty() && v[i] <= v[minn.back()])
            minn.pop_back();
        minn.push_back(i);

        if(i >= k){
            sol += v[minn.front()];
            if(minn.front() == i-k+1)
                minn.pop_front();
        }
    }
    fout<<sol;
    return 0;
}