Cod sursa(job #3330089)

Utilizator Andrei_GAndreiG Andrei_G Data 17 decembrie 2025 15:02:29
Problema Deque Scor 60
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.84 kb
#include <fstream>
#include <algorithm>
#include <iomanip>
#include <numeric>
#include <bitset>
#include <string>
#include <vector>
#include <cmath>
#include <queue>
#include <deque>
#include <stack>
#include <map>
#include <set>
#define int long long
//#define int short
#define f first
#define s second
using namespace std;

ifstream cin("deque.in");
ofstream cout("deque.out");

deque<int> dq;

int n, k, v[5000005], s = 0;

signed main(){
    cin>>n>>k;
    for (int i = 1; i <= n; i++){
        cin>>v[i];
        while (!dq.empty() && v[i] < v[dq.back()]){
            dq.pop_back();
        }
        dq.push_back(i);
        if (i >= k){
            while (!dq.empty() && dq.front() < i - k + 1){
                dq.pop_front();
            }
            s += v[dq.front()];
        }
    }
    cout<<s;
}