Cod sursa(job #2260305)

Utilizator richard26Francu Richard richard26 Data 14 octombrie 2018 19:31:44
Problema Deque Scor 30
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.97 kb
#include <bits/stdc++.h>

using namespace std ;


ifstream f("deque.in") ;
ofstream g("deque.out") ;

int  dq[5000001] ;

int main()
{
    int n , k , i , st , dr , x , mini , poz_mini  ;
    long long sum ;
    f>>n>>k ;
    st = 1 ;
    sum = 0 ;
    mini = 10000001 ;
    for ( i = 1 ;i <= k ; i++){
        f>>x ;
        dq [ i ] = x ;
        if ( x < mini ){
            mini = x ;
            poz_mini = i ;
        }
    }
    sum = sum + mini ;

    for ( dr = k + 1 ; dr <=n ; dr++){
        f>>x ;
        dq[ dr ] = x ;
        if (x<mini){
            mini = x ;
            poz_mini = dr ;
        }
        if( dr - poz_mini >= k ) {
            mini = 10000001 ;
            for ( i = poz_mini + 1 ; i<= dr ; i++ ) if ( dq[ i ] < mini){
                mini = dq [ i ] ;
                poz_mini = i ;
            }
        }
        sum = sum + mini ;
    }

    g<<sum ;
    f.close() ;
    g.close() ;
    return 0 ;
}