좌표 압축

시간 제한2초메모리 제한512 MB

요약
N개의 좌표 각각에 대해 자신보다 작은 서로 다른 값의 개수를 출력한다. 좌표 압축에서의 순위에 해당한다.
난이도

보통10점 중 4점

유형
정렬, 해시맵, 배열, 이분 탐색
정답자
아직 제출이 없습니다

문제

수직선 위에 NN개의 좌표 X1,X2,…,XNX_1, X_2, \dots, X_N이 있다. 이 좌표에 좌표 압축을 적용하려고 한다.

XiX_i를 좌표 압축한 결과 Xi′X'_i의 값은 Xi>XjX_i > X_j를 만족하는 서로 다른 좌표 XjX_j의 개수와 같아야 한다.

X1,X2,…,XNX_1, X_2, \dots, X_N에 좌표 압축을 적용한 결과 X1′,X2′,…,XN′X'_1, X'_2, \dots, X'_N를 출력해보자.

입력

첫째 줄에 NN이 주어진다.

둘째 줄에는 공백 한 칸으로 구분된 X1,X2,…,XNX_1, X_2, \dots, X_N이 주어진다.

출력

첫째 줄에 X1′,X2′,…,XN′X'_1, X'_2, \dots, X'_N을 공백 한 칸으로 구분해서 출력한다.

제한

  • 1≤N≤1,000,0001 \le N \le 1,000,000
  • −109≤Xi≤109-10^9 \le X_i \le 10^9

예제2

  1. 예제 1

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

    입력
    6
    1000 999 1000 999 1000 999
    
    예상 출력
    1 0 1 0 1 0