농부 존은 사진을 찍으려고 소 N마리를 한 줄로 세우고 있다 (1≤N≤50). 줄에서 i번째 소의 키는 a(i)이다. 존은 키가 증가하는 긴 부분 수열이 줄 안에 있으면 보기 좋은 사진이 된다고 생각한다.
부분 수열은 인덱스 i1<i2<⋯<ik에 있는 원소 a(i1),a(i2),…,a(ik)를 고른 것이다. a(i1)≤a(i2)≤⋯≤a(ik)이면 이 부분 수열이 증가한다고 한다.
존은 증가하는 부분 수열이 길어지도록, 처음에 부분 수열 하나를 마음대로 골라 그 원소의 순서를 뒤집을 수 있다.
예를 들어 수열이 다음과 같다고 하자.
1 6 2 3 4 3 5 3 4
아래 표시한 원소를 골라 뒤집으면
1 6 2 3 4 3 5 3 4
^ ^ ^ ^
다음 수열이 된다.
1 4 2 3 4 3 3 5 6
^ ^ ^ ^
뒤집은 부분 수열은 원래 차지하던 인덱스를 그대로 쓰고, 나머지 원소는 바뀌지 않는다.
임의의 부분 수열을 한 번 뒤집을 수 있을 때, 증가하는 부분 수열의 최대 길이를 구하여라.