만드는 중입니다

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

증가하는 수열

시간 제한3초메모리 제한1024 MB

요약
순열이 주어질 때, 각 인덱스 i마다 j를 제거하면 i를 포함하는 최장 증가 부분 수열의 길이가 줄어드는 j(j≠i)의 개수를 구합니다.
난이도

어려움10점 중 8점

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

문제

길이가 NN인 순열이 주어진다. 각 ii에 대해, j≠ij \neq i인 인덱스 jj 중에서 그 원소를 제거하면 인덱스 ii를 포함하는 증가하는 부분 수열의 최대 길이가 줄어드는 jj의 개수를 구한다.

입력

첫 번째 줄에 정수 NN이 주어진다.

두 번째 줄에는 NN개의 정수 A1,A2,⋯ ,ANA_1, A_2, \cdots, A_N이 주어진다.

출력

NN개의 정수를 공백으로 구분하여 출력한다. ii번째 정수는 인덱스 ii에 대한 답이다.

제한

  • 1≤N≤250 0001 \leq N \leq 250\,000
  • 1≤Ai≤N1 \leq A_i \leq N
  • 모든 AiA_i는 서로 다르다.

예제5

  1. 예제 1

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

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

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

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

    입력
    9
    1 2 3 6 5 4 7 8 9
    예상 출력
    5 5 5 6 6 6 5 5 5