Cod sursa(job #2812477)

Utilizator sims_glAlexandru Simion sims_gl Data 4 decembrie 2021 16:25:24
Problema Deque Scor 60
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.68 kb
#include<iostream>
#include<fstream>
#include<deque>
#include<climits>
using namespace std;
struct ij
{
    long long val;
    long long pos;
};
deque <long long> st;
long long n, v[5000005], mi = INT_MAX, s, I, k, i, x;
int main()
{
    freopen("deque.in", "r", stdin);
    freopen("deque.out", "w", stdout);
    scanf("%lld%lld", &n, &k);
    for( i = 1; i <= n; i++)
    {
        scanf("%lld", &v[i]);
        while(!st.empty() && v[st.back()] >= v[i])
            st.pop_back();
        st.push_back( i);
        if(!st.empty() && st.front()<= i - k)
            st.pop_front();


        if(i >= k)
            s += v[st.front()];
    }
    printf("%lld", s);
}