Cod sursa(job #2261097)

Utilizator richard26Francu Richard richard26 Data 15 octombrie 2018 22:10:39
Problema Deque Scor 100
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") ;

int dq[ 5000001 ], v[ 5000001 ] ;

int main()
{
    int n , k , dr , st , i , x ;
    long long sum = 0  ;
    f>>n>>k ;
    for ( i = 1 ; i <= n ; i++ ){
        f>>v[i] ;

    }
    dr = 0 ;
    st = 1 ;
    for ( i = 1 ; i <= n ; i++ ){
        x = v [ i ] ;
        while ( st <= dr && x <= v [ dq [ dr ] ] ) dr-- ;
        dr++ ;
        dq [ dr ] = i ;
        if ( i - dq [ st ] == k ) {
           st++ ;
        }
        if ( i >= k ) sum = sum + v [ dq [ st ] ] ;

    }
    g<<sum ;

}