Xếp hạng
Xem dạng PDFVòng loại cuộc thi lập trình của Trường Công nghệ thông tin và Truyền thông vừa kết thúc với ~n~ thí sinh; thí sinh thứ ~i~ đạt ~a_i~ điểm.
Ban tổ chức công bố bảng xếp hạng theo quy tắc quen thuộc trong thể thao: thứ hạng của một thí sinh bằng ~1~ cộng với số thí sinh có điểm lớn hơn hẳn điểm của thí sinh đó. Như vậy các thí sinh bằng điểm nhau thì đồng hạng, và các hạng ngay sau đó bị bỏ trống: nếu có hai người đồng hạng ~2~ thì không ai xếp hạng ~3~, người kế tiếp xếp hạng ~4~.
Yêu cầu
Hãy tính thứ hạng của từng thí sinh.
Dữ liệu vào
- Dòng thứ nhất chứa số nguyên dương ~n~;
- Dòng thứ hai chứa ~n~ số nguyên ~a_1, a_2, \ldots, a_n~.
Kết quả ra
Ghi ra trên một dòng ~n~ số nguyên cách nhau bởi dấu cách: số thứ ~i~ là thứ hạng của thí sinh thứ ~i~ (theo đúng thứ tự trong dữ liệu vào).
Ràng buộc
~1 \le n \le 2 \cdot 10^5~; ~0 \le a_i \le 10^9~.
- Subtask 1 (30% số điểm – test 01–06): ~n \le 1000~;
- Subtask 2 (30% số điểm – test 07–12): ~a_i \le 100~;
- Subtask 3 (40% số điểm – test 13–20): không có ràng buộc bổ sung.
Ví dụ
Dữ liệu vào mẫu 1
6
80 95 80 100 60 95
Kết quả ra mẫu 1
4 2 4 1 6 2
Giải thích
Thí sinh ~4~ (~100~ điểm) không thua ai nên xếp hạng ~1~. Thí sinh ~2~ và ~6~ (cùng ~95~ điểm) chỉ có một người điểm cao hơn nên đồng hạng ~2~; không ai xếp hạng ~3~. Thí sinh ~1~ và ~3~ (cùng ~80~ điểm) có ba người điểm cao hơn nên đồng hạng ~4~. Thí sinh ~5~ (~60~ điểm) có năm người điểm cao hơn nên xếp hạng ~6~.
Bình luận