Pagini recente » Cod sursa (job #2402713) | Cod sursa (job #200910) | Cod sursa (job #294068) | Cod sursa (job #2236964) | Cod sursa (job #2405919)
#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];
for(int i = 1; i <= n; ++i){
while(left <= right && nums[i] <= nums[deque[right]])
--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] << " ";
}
}