Cod sursa(job #2652788)

Utilizator AndreiAlexandru2k3Ciucan Andrei Alexandru AndreiAlexandru2k3 Data 25 septembrie 2020 18:34:57
Problema Deque Scor 60
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.52 kb
#include <iostream>
#include <fstream>
using namespace std;

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

const int MAXN=5000001;

long long sMin=0;

int A[MAXN],N,K;

int D[MAXN],p=1,u=0;

void calcul()
{
    for(int i=1;i<=N;i++)
    {
        while(p<=u&&A[i]<=A[D[u]])
            u--;
        D[++u]=i;
        if(D[p]==i-K) p++;
        if(i>=K) sMin+=A[D[p]];
    }
}

int main()
{
    f>>N>>K;
    for(int i=1;i<=N;i++)
        f>>A[i];
    calcul();
    g<<sMin;
    return 0;
}