Cod sursa(job #1229757)

Utilizator afkidStancioiu Nicu Razvan afkid Data 18 septembrie 2014 01:09:22
Problema Deque Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.66 kb
#include <cstdio>
#include <fstream>
#include <deque>
#include <utility>
#define ll long long

using namespace std;

ifstream f("deque.in");
ofstream g("deque.out");

int n,k;

int main()
{
    int i;
    deque< pair<ll,int> > deq;
    ll a;
    f>>n>>k;
    ll sum=0;
    for(i=0;i<n;i++)
        {
            f>>a;
            printf("%lld\n",a);
            while(!deq.empty() && deq.back().first>=a)
                deq.pop_back();
            deq.push_back(make_pair(a,i));
            if(deq.front().second==i-k)
                deq.pop_front();
            if(i>=k-1) sum+=deq.front().first;
        }
    printf("%lld",sum);

}