I.Nén mảng


Submit solution

Points: 50
Time limit: 1.0s
Memory limit: 256M

Problem type

Thầy Tính giao cho các bạn học sinh ở TSmart một mảng gồm \(n (1 ≤ n ≤ 10^5)\) phần tử \(A_1, A_2, ..., A_n (|Ai| ≤ 10^9)\), sau đó yêu cầu các bạn thực hiện một phép nén mảng \(A_1, A_2, ..., A_n\) thành \(B_1, B_2, ..., B_n\) sao cho thỏa mãn điều kiện:

  • Mọi giá trị \(1 ≤ B_i ≤ n\).
  • Với mọi cặp \((i < j) A_i ≤ A_j\) thì \(B_i ≤ B_j\).
  • Các giá trị \(B_i\) càng nhỏ càng tốt.

Bạn hãy giúp các bạn học sinh tại TSmart thực hiện nén mảng đó.

Input:

  • Dòng 1 chứa số nguyên dương \(n\)
  • Dòng 2 gồm \(n\) số nguyên \(A_1, A_2, ..., A_n\)

Output:

  • Dãy \(B\) sau khi thực hiện nén dãy \(A\)

input

8
-4 16 8 10 -4 5 12 8

output

1 6 3 4 1 2 5 3

input

5
9 14 2 5 6

output

4 5 1 2 3


Comments

There are no comments at the moment.