Cod sursa(job #1010928)

Utilizator ZoranZomboratZoran Zomborat Goran ZoranZomborat Data 15 octombrie 2013 21:45:51
Problema Deque Scor 25
Compilator cpp Status done
Runda Arhiva educationala Marime 0.62 kb
#include<fstream>
#include<iostream>
#include<deque>
#include<vector>
#define N_max 5000005
using namespace std;
int v[N_max];
deque <int> a;
int n,k;
long int s;
int main()
{int i,x;
    ifstream fin("deque.in");
    ofstream fout("deque.out");
    fin>>n>>k;
    for(i=1;i<=n;i++)
    {
        fin>>x;
        v[i]=x;
    }
    for(i=1;i<=n;i++)
    {
        while(!a.empty()&&v[i]<=v[a.back()])
            {a.pop_back();
            }
        a.push_back(i);
        if(a.front()<=i-k)
            a.pop_front();
        if(i>=k)
            {s+=v[a.front()];
            }
    }
    fout<<s;
}