Cod sursa(job #1688952)

Utilizator vlasiuflaviusVlasiu Flavius vlasiuflavius Data 13 aprilie 2016 20:20:05
Problema Deque Scor 25
Compilator cpp Status done
Runda Arhiva educationala Marime 0.5 kb
#include <fstream>
using namespace std;
ofstream fout("deque.out");
ifstream fin ("deque.in");
int v[5000005],deq[5000005],n,suma,cs,cd,k;
int main()
{
    fin>>n>>k;
    for(int i = 1 ; i <= n ; i++) fin>>v[ i ];
    cs = 1 ;
    cd = 0 ;
    for(int i = 1 ; i <= n ; i++)
    {
        while( cd >= cs && v[ i ] <= v[ deq[ cd ] ]) cd--;
        deq[ cd + 1 ] = i ;
        cd++;
        if( deq[ cs ]  == i - k ) cs++;
        if( i >= k) suma += v[ deq[ cs ] ];
    }
    fout<<suma;

}