Cod sursa(job #2725298)

Utilizator blxqnAlina Voiculescu blxqn Data 18 martie 2021 19:11:14
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.71 kb
#include <iostream>
#include <fstream>
#define MAX 5000001
using namespace std;

int A[MAX], my_deque[MAX];

int main()
{
    ifstream fin("deque.in");
    ofstream fout("deque.out");

    long long int N, K;
    int i;
    int up = 0, down = -1;
    long long int sum = 0;

    fin>>N>>K;

    for (i = 0; i < N; i++)
        fin>>A[i];

    for (i = 0; i < N; i++)
    {
        while (up <= down && A[i] <= A[my_deque[down]])
            down--;
        down += 1;
        my_deque[down] = i;
        if (my_deque[up] == i-K)
            up++;
        if(i+1>=K)
            sum += A[my_deque[up]];


    }

    fout<<sum;




    fin.close();
    fout.close();
    return 0;
}