박스 포장

상자 크기가 순서대로 주어질 때, 앞 상자가 뒤 상자보다 작다는 규칙을 지키며 만들 수 있는 가장 긴 부분 수열의 길이를 구한다.

보통4동적 계획법이분 탐색배열그리디면접 대비아직 제출이 없습니다시간 제한2초메모리 제한512 MB

문제

영선이는 과대 포장으로 유명한 남규네 회사에서 아르바이트를 한다. 맡은 일은 박스를 여러 겹으로 포개어 포장하는 것이다.

박스는 일렬로 놓여 있다. 앞에 있는 박스가 뒤에 있는 박스보다 작을 때만 앞 박스를 뒤 박스 안에 넣을 수 있다. 뒤에 있는 박스를 앞에 있는 박스에 넣을 수는 없다.

박스의 크기가 앞에서부터 차례대로 주어진다. 이 규칙을 지키면서 박스를 겹겹이 넣을 때, 하나로 포개진 박스가 최대 몇 개인지 구하라. 가장 바깥 박스도 개수에 포함한다.

입력

첫째 줄에 박스의 개수 nn이 주어진다. (1n50001 \le n \le 5000)

둘째 줄에 박스의 크기 A1,A2,,AnA_1, A_2, \dots, A_n이 앞에서부터 차례대로 주어진다. (1Ai1000001 \le A_i \le 100000)

출력

규칙을 지키면서 포개 넣을 수 있는 박스의 최대 개수를 첫째 줄에 출력한다.