Cod sursa(job #2264427)

Utilizator Vlad_NituNitu Vlad-Petru Vlad_Nitu Data 20 octombrie 2018 09:18:15
Problema Deque Scor 60
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.62 kb
#include <bits/stdc++.h>
using namespace std ;
ifstream f ("deque.in") ;
ofstream g ("deque.out");

deque <int> d;
long long s = 0 ;
int n , k , a[5000001] ;
int main()
 {

    f >> n >> k ;
     for (int i = 1 ; i <= n ; ++i)
     {
         f >> a[i] ;
         while(!d.empty() && a[d.back()] >= a[i])
            d.pop_back();

        /* Se extrag de la sfarsitul cozii
        toate elementele '>=' cu a[i] */
            d.push_back(i);
            if (i - d.front() >= k)
                d.pop_front() ;
            if (i >= k)     s += a[d.front()] ;

     }

     g << s;
     return 0 ;
 }