Cod sursa(job #271828)

Utilizator xtremespeedzeal xtreme Data 5 martie 2009 23:18:37
Problema Deque Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.72 kb
#include<iostream.h>
#include<stdio.h>

int A[5000001],deque[5000001];
unsigned int n,k,i,front=1,back;
unsigned long long int s;



int main()
    {
    freopen("D:\\in.txt","r",stdin);freopen("D:\\out.txt","w",stdout);
    scanf("%d %d",&n,&k);
    for(i=1;i<=n;i++)
            scanf("%d",&A[i]);
    for(i=1;i<=n;i++)
          {
          while(front<=back && A[i]<=A[deque[front]])
                           back--;
          deque[back++]=i; 
          if(deque[front]==i-k)
                               front++;
          if(i<=k)
                  s+=A[deque[front]];
          }
    printf("%llu",s);
    return 0;
    }