가장 긴 정렬된 부분 수열

아직 제출이 없습니다시간 제한1초메모리 제한128 MB

문제

수열 aia_ia1a2aNa_1 \le a_2 \le \dots \le a_N을 만족하면 이 수열을 정렬된(오름차순) 수열이라고 한다. 수열 (a1,a2,,aN)(a_1, a_2, \dots, a_N)이 주어질 때, 부분 수열이란 1i1<i2<<iKN1 \le i_1 < i_2 < \dots < i_K \le N을 만족하는 임의의 수열 (ai1,ai2,,aiK)(a_{i_1}, a_{i_2}, \dots, a_{i_K})를 말한다.

예를 들어 수열 (1,7,3,5,9,4,8)(1, 7, 3, 5, 9, 4, 8)에는 (1,7)(1, 7), (3,4,8)(3, 4, 8)과 같은 정렬된 부분 수열이 있다. 이 수열에서 가장 긴 정렬된 부분 수열의 길이는 모두 4이며, 예를 들어 (1,3,5,8)(1, 3, 5, 8)이 있다.

수열이 주어졌을 때, 가장 긴 정렬된 부분 수열의 길이를 구하여라.

입력

첫째 줄에 수열의 길이 NN이 주어진다 (1N10001 \le N \le 1000). 둘째 줄에는 수열의 원소인 NN개의 정수가 공백으로 구분되어 주어지며, 각 정수는 00 이상 1000010000 이하이다.

출력

주어진 수열에서 가장 긴 정렬된 부분 수열의 길이를 정수 하나로 출력한다.