Cod sursa(job #1181897)

Utilizator radu_cebotariRadu Cebotari radu_cebotari Data 4 mai 2014 10:34:41
Problema Deque Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.55 kb
#include<fstream>
#define nmax 5000009
using namespace std;
int v[nmax],front,back,deq[nmax];
long long sum;

int main()
{
    ifstream in("deque.in");
    ofstream out("deque.out");
    int n,i,k;
    in>>n>>k;
    for(i = 1 ; i <= n ; i++)
        in>>v[i];
    back = 0;
    front = 1;
    for(i = 1 ; i <= n ; i++)
    {

        while(back >= front && v[i] <= v[deq[back]])
            back--;
        deq[++back] = i;
        if(deq[front] == i-k) front++;
        if(i >= k) sum+=v[deq[front]];
    }
    out<<sum;
    return 0;
}