Cod sursa(job #1257717)

Utilizator Juve45UAIC Alexandru Ionita Juve45 Data 8 noiembrie 2014 09:48:12
Problema Deque Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.6 kb
#include <iostream>
#include <cstdio>
#include <queue>
using namespace std;

deque <int> dq;


    int a[5000005], n, k;

int main()
{

    long long s=0;
    freopen("deque.in", "r", stdin);
    freopen("deque.out", "w", stdout);

    cin>>n>>k;
    for(int i=1; i<=k; i++)
        cin>>a[i];

    for(int i=1; i<=k; i++)
    {
        if(!dq.empty() && dq.front()==i-k)
            dq.pop_front();
        while(!dq.empty() && a[dq.back()]>a[i])
            dq.pop_back();
        dq.push_back(i);
        if(i>k)
            s+=a[dq.front()];
    }cout<<s;

    return 0;
}