Cod sursa(job #282603)

Utilizator petrecgClinciu Glisca Petre petrecg Data 17 martie 2009 22:50:45
Problema Deque Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.4 kb
#include <stdio.h>
long st,dr,i,n,k,v[5000010],a[5000010];
long long s;
int main()
{freopen("deque.in","r",stdin);freopen("deque.out","w",stdout);
 st=1;dr=0;
 scanf("%ld%ld",&n,&k);
 for(i=1;i<=n;i++)
  {scanf("%ld",&a[i]);
   while(st<=dr&&a[v[dr]]>a[i])dr--;
   dr++;v[dr]=i;
   if(v[st]==i-k)st++;
   if(i>=k)s+=a[v[st]];
  }
 printf("%lld",s);
 fclose(stdin);fclose(stdout);
 return 0;
}