Cod sursa(job #2610633)

Utilizator Sebastian27Marcu Sebastian Sebastian27 Data 5 mai 2020 11:55:54
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.56 kb
#include <fstream>
using namespace std;
ifstream in ("deque.in");
ofstream out ("deque.out");
const int N=5000001;
int dq[N], minn[N];
int main()
{
    int n, k, st, dr, i;
    long long sum=0;
    in>>n>>k;
    for(i=1; i<=n; i++)
        in>>dq[i];
    st=0;
    dr=-1;
    for(i=1; i<=n; i++)
    {
        if (st<=dr && minn[st]==i-k)
            st++;
        while (st<=dr && dq[i]<=dq[minn[dr]])
            dr--;
        dr++;
        minn[dr]=i;
        if (i>=k)
           sum+=dq[minn[st]];
    }
    out<<sum<<'\n';
    return 0;
}