아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

수열 재배열

면접 대비

시간 제한2초메모리 제한512 MB

요약
1부터 N까지의 순열이 주어질 때 연속한 K개의 수를 한 번 골라 자유롭게 재배열하고, 그 결과에서 만들 수 있는 연속 증가 구간의 최대 길이를 구한다.
난이도

보통10점 중 6점

유형
배열, 정렬, 완전 탐색, 구현
정답자
아직 제출이 없습니다

문제

11부터 NN까지의 수가 하나씩 임의로 배열된 길이 NN의 수열 A_1,A_2,...,A_NA\_1, A\_2,..., A\_N이 주어진다. 주어진 수열에서 연속된 KK개의 수를 고른 후, 선택한 KK개의 수의 구간 내에서 KK개의 수를 자유롭게 재배열하는 연산을 한 번 수행한다.

연산을 수행한 후, 수열에서 만들 수 있는 연속된 증가하는 부분 수열의 최대 길이를 구하시오.

증가하는 수열이란, 모든 i<ji < j에 대해 A_i<A_jA\_i < A\_j인 수열을 말한다.

입력

첫 번째 줄에 정수 NN, KK가 공백으로 구분되어 주어진다.

두 번째 줄에 정수 A_1,A_2,...,A_NA\_1, A\_2, ..., A\_N이 공백으로 구분되어 주어진다.

출력

첫 번째 줄에 수열에서 만들 수 있는 연속된 증가하는 부분 수열의 최대 길이를 출력한다.

제한

  • 3≤N≤2,0003 \leq N \leq 2\\,000
  • 2≤K≤N2 \leq K \leq N
  • 1≤A_i≤N1 \leq A\_i \leq N

예제2

  1. 예제 1

    입력
    5 3
    2 1 5 3 4
    
    예상 출력
    4
    
  2. 예제 2

    입력
    7 3
    3 2 1 7 4 5 6
    
    예상 출력
    5