가장 긴 감소하는 부분 수열

주어진 수열에서 순서를 유지하며 엄격히 감소하는 가장 긴 부분 수열의 길이를 구합니다.

쉬움3동적 계획법면접 대비아직 제출이 없습니다시간 제한1초메모리 제한256 MB

문제

수열 AA가 주어진다. AA의 가장 긴 감소하는 부분 수열의 길이를 구하는 프로그램을 작성하시오.

부분 수열은 AA에서 원소를 하나 이상 골라 원래 순서를 그대로 유지한 수열이다. 감소하는 부분 수열은 앞의 원소가 바로 뒤의 원소보다 항상 큰 부분 수열이다.

예를 들어 A={10,30,10,20,20,10}A = \{10, 30, 10, 20, 20, 10\}이면 가장 긴 감소하는 부분 수열은 {30,20,10}\{30, 20, 10\}이고, 길이는 3이다.

입력

첫째 줄에 수열 AA의 크기 NN이 주어진다. (1N1,0001 \le N \le 1{,}000)

둘째 줄에 수열 AA를 이루는 A1,A2,,ANA_1, A_2, \dots, A_N이 공백으로 구분되어 주어진다. (1Ai1,0001 \le A_i \le 1{,}000)

출력

첫째 줄에 AA의 가장 긴 감소하는 부분 수열의 길이를 출력한다.