Cod sursa(job #2405878)

Utilizator SirVSbiVidam Szablocs SirVSbi Data 15 aprilie 2019 09:27:03
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.59 kb
#include <iostream>
#include <fstream>

#define NMAX 5000001

int nums[NMAX];
int indexs[NMAX];


using namespace std;





int main(){
    ifstream be("deque.in");
    ofstream ki("deque.out");

    long long res = 0;
    int n, k;
    be >> n >> k;
    int left = 1;
    int right = 0;
    for(int i = 1; i <= n; i++){
        be >> nums[i];
        while(left <= right && nums[i] <= nums[indexs[right]])
            right--;
        right++;
        indexs[right] = i;
        if(indexs[left] == i - k)
            left++;
        if(i >= k)
            res += nums[indexs[left]];
    }

    ki << res;

}