Cod sursa(job #2291113)

Utilizator Dragomiralexandru621@yahoo.comDragomir ionut alexandru [email protected] Data 27 noiembrie 2018 16:45:13
Problema Deque Scor 25
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.68 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("deque.in");
ofstream g("deque.out");

int n , m , a[6000000] , b[6000000] ;

int main()
{
   f >> n >> m ;
   for( int i = 0 ; i < n ; i ++ )
    f >> a[i] ;

    int sum = 0 , x = 0 , cursor2 = -1 , cursor1 = 0 ;

    for( int i = 0 ; i < n ; i ++ )
    {
        if(cursor1 <= cursor2 && b[cursor1]==i - m)
        {
            cursor1 ++;
        }
        while( cursor1 <= cursor2 && a[i] <= a[b[cursor2]])
        {
            cursor2 -- ;
        }
        b[++cursor2] = i;
        if(i >= m - 1)
        {
            sum = sum + a[b[cursor1]] ;
        }

    }
       g << sum ;
}