Cod sursa(job #2405899)

Utilizator SirVSbiVidam Szablocs SirVSbi Data 15 aprilie 2019 10:19:57
Problema Secventa Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.77 kb
#include <iostream>
#include <fstream>


#define NMAX 500001

using namespace std;

int nums[NMAX];
int deque[NMAX];


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

    int n, k;
    be >> n >> k;
    int left = 1, right = 0;
    int start, end, max = -30001;
    for(int i = 1; i <= n; ++i){
        be >> nums[i];
        while(left <= right && nums[i] <= nums[deque[i]])
            right--;

        deque[++right] = i;
        if(deque[left] == i - k)
            ++left;
        if(i >= k){
            if(nums[deque[left]] > max){
                max = nums[deque[left]];
                start = i - k + 1;
                end = i;
            }
        }

    }

    for(int i = start; i <= end; i++){
        ki << nums[i] << " ";
    }




}