Cod sursa(job #3337773)

Utilizator marap2011Paun Mara marap2011 Data 29 ianuarie 2026 21:51:28
Problema Deque Scor 40
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.76 kb
#include <bits/stdc++.h>
using namespace std;
ifstream fin ("deque.in") ;
ofstream fout ("deque.out") ;
int v[5000001] ;
deque < int > q ;
int main()
{
    int n , k ;
    long long s = 0 ;
    fin >> n >> k ;
    for ( int i = 1 ; i <= n ; i ++ )
    {
        if ( i < k )
        {
            while ( ! q.empty() && v[q.back()] > v[i] )
                q.pop_back() ;
            q.push_back(i) ;
        }
        fin >> v[i] ;
    }
    for ( int i = k ; i <= n ; i ++ )
    {
        while ( ! q.empty() && v[q.back()] > v[i] )
            q.pop_back() ;
        q.push_back(i) ;
        while ( !q.empty() && q.back() - q.front() >= k )
            q.pop_front() ;
        s += v[q.front()] ;
    }
    fout << s ;

    return 0;
}