Cod sursa(job #1119921)

Utilizator AlexNiuclaeNiculae Alexandru Vlad AlexNiuclae Data 24 februarie 2014 20:44:21
Problema Deque Scor 25
Compilator cpp Status done
Runda Arhiva educationala Marime 0.57 kb
#include <cstdio>
#include <deque>
#define pb push_back

using namespace std;

deque <int> q;
int i,j,n,k,a[5000010],s;


int main()
{
    freopen("deque.in","r",stdin);
    freopen("deque.out","w",stdout);

    scanf("%d %d", &n, &k);
    for (i=1;i<=n;i++) scanf("%d", &a[i]);


    for (i=1;i<=n;i++)
            {
              while (q.size()>0 && a[i]<a[q.back()]) q.pop_back();
              q.pb(i);
              if (q.front()==i-k) q.pop_front();
              if (i>=k) s+=a[q.front()];


        }

     printf("%d", s);



    return 0;
}