만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

최대 부분수열

시간 제한1초메모리 제한256 MB

요약
배열이 주어졌을 때 전체 배열의 LIS 길이보다 LIS가 짧은 부분 수열 중 가장 긴 것의 길이를 구합니다.
난이도

보통10점 중 7점

유형
동적 계획법, 이분 탐색, 그래프
정답자
아직 제출이 없습니다

문제

어떤 수열의 아름다움은 그 수열의 가장 긴 증가 부분수열의 길이이다.

길이가 nn인 배열 aa가 주어진다. 배열 aa의 부분수열 가운데 그 부분수열의 아름다움이 배열 aa 전체의 아름다움보다 작은 것의 최대 길이를 구하라.

입력

첫째 줄에 배열 aa의 원소 개수 nn이 주어진다 (1≤n≤5⋅1051 \le n \le 5 \cdot 10^5).

둘째 줄에 공백으로 구분된 정수 a1,a2,…,ana_1, a_2, \ldots, a_n이 주어진다 (1≤ai≤1091 \le a_i \le 10^9).

출력

아름다움이 배열 aa 전체의 아름다움보다 작은 부분수열의 길이 중 최댓값을 정수 하나로 출력한다.

예제5

  1. 예제 1

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

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

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

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

    입력
    4
    3 4 1 2
    
    예상 출력
    2