문제
여러분들은 길이 N의 수열 a1, a2, … an을 가지고 있다.
1이상 N이하의 길이 W가 주어졌을 때, 길이 W의 연속구간에 들어있는 수열의 원소 중, 가장 큰 값을 각각 출력하는 프로그램을 작성하라.
예를 들어 수열이 [6,3,1,-1,1,-2] 이고 W가 3이라면 다음 4개의 수를 출력한다.
[6,3,1],-1,1,-2 : 최댓값 à 6
6,[3,1,-1],1,-2 : 최댓값 à 3
6,3,[1,-1,1],-2 : 최댓값 à 1
6,3,1,[-1,1,-2] : 최댓값 à 1
입력
첫 줄의 수열의 길이 N(1≤N≤2,000,000)와 연속구간의 길이 W(1≤W≤N)이 주어진다.
둘째 줄에 N개의 각 수열의 원소 ai가 공백을 사이에 두고 각각 주어진다.
(-109 ≤ ai ≤ 109)
출력
(N+1-W)개의 줄에 걸쳐 각 연속구간의 최댓값을 출력한다.
조금 더 엄밀히 말하자면, i번째 줄에는 연속구간 [ai,ai+1,…,ai+W-1]의 원소 중 최댓값을 출력하면 된다.
예제
6 3
6 3 1 -1 1 -2
6
3
1
1
출처
ohjtgood