Cod sursa(job #2709241)

Utilizator Casian_doispeChiriac Casian Casian_doispe Data 20 februarie 2021 07:54:32
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.74 kb
#include <fstream>
#include <algorithm>
#include <vector>
#include <cstring>
#include <deque>
#include <unordered_set>
#include <unordered_map>
#include <bitset>
#include <climits>
#include <queue>

#define MOD 666013

using namespace std;

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

deque<int> dq ;

int v[5000009] ;

int main()
{

    int n, k ; long long s = 0 ;

    cin >> n >> k ;

    for(int f = 1, a ; f <= n ; f ++)
    {

        cin >> v[f] ;

        while(!dq.empty() && v[f] <= v[dq.back()])dq.pop_back() ;

        dq.push_back(f) ;

        while(dq.front() <= f - k)dq.pop_front() ;

        if(f >= k)s += v[dq.front()] ;

    }

    cout << s ;

    return 0 ;
}