Rời rạc hoá mảng
Xem dưới dạng PDF
Gửi bài giải
Điểm:
30
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
256M
đầu vào:
stdin
Đầu ra:
stdout
Kiểu bài tập
Cho mảng A gồm N phần tử. Hãy thực hiện rời rạc hoá (coordinate compression) mảng A, tức là thay mỗi giá trị A[i] bằng thứ hạng (0-based) của nó trong mảng đã sắp xếp tăng dần, loại bỏ các giá trị trùng nhau.
Đầu vào
- Dòng đầu tiên chứa số nguyên N (\(1 \le N \le 10^5\)).
- Dòng thứ hai chứa N số nguyên \(A_i\) (\(-10^9 \le A_i \le 10^9\)).
Đầu ra
In ra N số nguyên là mảng sau khi rời rạc hoá, mỗi số cách nhau bởi một khoảng trắng.
Ví dụ
Input:
6
300 100 500 100 200 500
Output:
2 0 3 0 1 3
Giải thích
Các giá trị phân biệt sắp xếp: [100, 200, 300, 500]. 100 → 0, 200 → 1, 300 → 2, 500 → 3.
Ràng buộc & Subtasks
| Subtask | Điểm | Ràng buộc |
|---|---|---|
| 1 | 40% | Giới hạn nhỏ |
| 2 | 60% | Không có ràng buộc gì thêm |
Nhận xét