Cod sursa(job #1917680)

Utilizator AndreRageBota Claudiu AndreRage Data 9 martie 2017 12:46:10
Problema Deque Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.53 kb
#include <iostream>
#include <fstream>

using namespace std;
ifstream in("deque.in");
ofstream out("deque.out");
int n,i,p,j,v[5000001],stiv[5000001];
int fata=1,spate=0;
long long s;
int main()
{
    in>>n>>p;
    for(i=1;i<=n;i++) in>>v[i];
    s=0;

    for(i=1;i<=n;i++)
    {
        while(fata<=spate && v[i]<=v[stiv[spate]]) spate--;
        spate++;
        stiv[spate]=i;
        out<<stiv[spate]<<" ";
        if(stiv[fata]==i-p) fata++;
        if(i>=p) s=s+v[stiv[fata]];
    }
    out<<s;

    return 0;
}