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

Không có ý kiến tại thời điểm này.