Cod sursa(job #3242582)

Utilizator Victor321321Victor Casandra Victor321321 Data 12 septembrie 2024 18:18:40
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.75 kb
#include <bits/stdc++.h>

using namespace std;

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

deque<pair<int,int>> dq;
const int NMAX=5000000;
long long SUM=0;

int main()
{
    int n, x, k;
    fin >> n >> k;
    for(int i = 1; i <= k; ++i)
    {
        fin >> x;
        while(!dq.empty() &&  dq.back().first >= x)
            dq.pop_back();
        dq.push_back({x,i});
    }
    SUM += (1LL*dq.front().first);

    for(int i = k+1; i<= n; ++i)
    {
        fin >> x;
        while(!dq.empty() &&  dq.back().first >= x)
            dq.pop_back();
        dq.push_back({x,i});

        while(!dq.empty()&& dq.front().second <= i-k)
            dq.pop_front();
        SUM += dq.front().first;
    }
    fout<<SUM;
}