I.Nén mảng
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