5214 : A15 - 좌표 압축 (Compression)
•시간제한: 2.000 S
•메모리제한: 1024 MB
•제출: 1
•통과: 1
•만든사람: suakii
문제 설명
배열 $A = [A_1, A_2, \dots, A_N] $ 이 주어집니다. 대소 관계를 유지하면서 배열을 가능한 한 압축하세요.
여기서 압축이란 다음 조건을 모두 만족하는 배열 $B = [B_1, B_2, \dots, B_N] $ 을 구하는 조작입니다.
- 조건 1: $B_1, B_2, \dots, B_N$ 은 1 이상의 정수이다.
- 조건 2: $A_i < A_j$ 인 쌍 $ (i, j) $ 에 대해 $B_i < B_j$ 이다.
- 조건 3: $A_i = A_j$ 인 쌍 $ (i, j) $ 에 대해 $B_i = B_j$ 이다.
- 조건 4: $A_i > A_j$ 인 쌍 $ (i, j) $ 에 대해 $B_i > B_j$ 이다.
- 조건 5: 위 조건을 만족하는 배열 $B$ 중에서 최댓값이 최소가 되도록 한다.
[제약 조건]
• $1 \le N \le 100\,000$
• $1 \le A_i \le 10^9$
여기서 압축이란 다음 조건을 모두 만족하는 배열 $B = [B_1, B_2, \dots, B_N] $ 을 구하는 조작입니다.
- 조건 1: $B_1, B_2, \dots, B_N$ 은 1 이상의 정수이다.
- 조건 2: $A_i < A_j$ 인 쌍 $ (i, j) $ 에 대해 $B_i < B_j$ 이다.
- 조건 3: $A_i = A_j$ 인 쌍 $ (i, j) $ 에 대해 $B_i = B_j$ 이다.
- 조건 4: $A_i > A_j$ 인 쌍 $ (i, j) $ 에 대해 $B_i > B_j$ 이다.
- 조건 5: 위 조건을 만족하는 배열 $B$ 중에서 최댓값이 최소가 되도록 한다.
[제약 조건]
• $1 \le N \le 100\,000$
• $1 \le A_i \le 10^9$
입력 설명
$N$
$A_1$ $A_2$ $\dots$ $A_N$
$A_1$ $A_2$ $\dots$ $A_N$
출력 설명
정수 $B_1, B_2, \dots, B_N$ 을 공백으로 구분하여 출력하세요.
입력 예시
COPY
복사되었습니다!
복사되었습니다!
5
46 80 11 77 46
출력 예시
COPY
복사되었습니다!
복사되었습니다!
2 4 1 3 2
도움
$A = [46, 80, 11, 77, 46] $ 의 대소 관계를 유지하며 압축하면 $B = [2, 4, 1, 3, 2] $ 가 됩니다.