Xếp hạng

Xem dạng PDF

Gửi bài giải

Điểm: 1,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout

Dạng bài

Vò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

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.