Olympic 30/4 2025 - Hội thao học sinh

Xem dạng PDF

Gửi bài giải

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

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Output Only, Pascal, PyPy, Python, Scratch, TEXT

Trong trường hợp đề bài hiển thị không chính xác, bạn có thể tải đề bài tại đây: Đề bài

Hội thao vui khỏe năm nay của trường THPT LHP có ~N~ học sinh tranh tài, được đánh số lần lượt từ ~1~ đến ~N~ và tất cả được xếp thành một vòng tròn. Học sinh thứ ~i~ ~(1 \le i<N)~ đứng bên trái học sinh thứ ~i+1~, học sinh thứ ~N~ đứng bên trái học sinh thứ ~1~. Học sinh thứ ~i~ ~(1 \le i<N)~ có hai chỉ số ~H_i~ và ~S_i~ tương ứng tượng trưng cho độ khỏe và độ mạnh.</p>

Hội thao bao gồm nhiều vòng đấu giống nhau. Ở mỗi vòng, khi có hiệu lệnh bắt đầu, các học sinh sẽ cùng lúc giả vờ tấn công người ở bên phải của mình. Khi đó chỉ số độ khỏe của tất cả các học sinh đồng thời bị giảm đi một lượng đúng bằng chỉ số độ mạnh của học sinh vừa giả vờ tấn công ở bên trái mình. Sau đó, các học sinh có chỉ số độ khỏe nhỏ hơn hoặc bằng ~0~ sẽ bị loại ra khỏi cuộc chơi, và vòng tròn được thu hẹp lại mà vẫn giữ nguyên thứ tự. Các vòng đấu tiếp theo sẽ được lặp lại cho đến khi chỉ còn duy nhất một học sinh chưa bị loại, hoặc tất cả học sinh đều đã bị loại.

Luật chơi đặt ra các tiêu chí cụ thể để xếp hạng các học sinh. Cụ thể, giả sử có hai học sinh ~A~ và ~B~, khi đó ~A~ có thứ hạng cao hơn ~B~ khi và chỉ khi:

  • ~A~ là người ở lại cuối cùng, hoặc

  • ~A~ bị loại ở vòng đấu sau vòng đấu mà ~B~ bị loại, hoặc

  • Cả ~A~ và ~B~ cùng bị loại tại một vòng đấu, nhưng tại thời điểm bị loại ~A~ có chỉ số độ khỏe lớn hơn ~B~, hoặc

  • Cả ~A~ và ~B~ cùng bị loại tại một vòng đấu, và tại thời điểm bị loại ~A~ và ~B~ có chỉ số độ khỏe giống nhau, nhưng chỉ số độ mạnh của ~A~ lớn hơn chỉ số độ mạnh của ~B~.

Trong các trường hợp còn lại, ~A~ có thứ hạng không cao hơn ~B~.

Xếp hạng cuối cùng của học sinh thứ ~i~ là ~R_i=C_i+1~ trong đó ~C_i~ là số lượng học sinh ~j~ trong ~N~ học sinh mà ~j~ có thứ hạng cao hơn ~i~.

Yêu cầu: Hãy tìm dãy xếp hạng ~R_1,R_2,\dots,R_N~.

Input

  • Dòng đầu tiên chứa một số nguyên duy nhất ~N~ là số lượng học sinh ~(1 \le N \le 10^6)~.

  • Dòng thứ hai chứa ~N~ số nguyên ~H_1,H_2,\dots,H_N~ mô tả chỉ số độ khỏe của ~N~ học sinh ~(1 \le H_i \le 10^9)~.

  • Dòng thứ ba chứa ~N~ số nguyên ~S_1,S_2,\dots,S_N~ mô tả chỉ số độ mạnh của ~N~ học sinh ~(1 \le S_i \le 10^9)~.

Các số trên cùng một dòng cách nhau bởi dấu cách.

Output

  • Dãy ~N~ số nguyên ~R_1,R_2,\dots,R_N~ trên một dòng, hai số liên tiếp cách nhau bởi một dấu cách.

Scoring

Mỗi subtask bao gồm nhiều test đơn, điểm của thí sinh được tính theo từng test đơn.

Subtask Điểm Ràng buộc
1 ~20\%~ ~N \le 100; H_i,S_i \le 100, \forall i=1,2,\dots,N~
2 ~20\%~ ~N \le 2000~
3 ~20\%~ ~N \le 300000; S_1=S_2=\dots=S_N~
4 ~15\%~ ~N \le 300000~, đảm bảo chỉ có học sinh ~1~ là người ở lại vòng cuối cùng
5 ~15\%~ ~N \le 300000~
6 ~10\%~ Không có giới hạn gì thêm

Sample Input 1

5
10 6 7 5 9
2 2 1 3 4

Sample Output 1

5 4 2 1 3

Sample Input 2

3
2 1 3
3 4 3

Sample Output 2

1 3 1

Notes

Ở ví dụ đầu tiên, các vòng diễn ra như sau:

~H_1~ ~H_2~ ~H_3~ ~H_4~ ~H_5~
Ban đầu ~10~ ~6~ ~7~ ~5~ ~9~
Vòng 1 ~10-4=6~ ~6-2=4~ ~7-2=5~ ~5-1=4~ ~9-3=6~
Vòng 2 ~6-4=2~ ~4-2=2~ ~5-2=3~ ~4-1=3~ ~6-3=3~
Vòng 3 ~2-4=-2~ ~2-2=0~ ~3-2=1~ ~3-1=2~ ~3-3=0~
Vòng 4 × × ~1-3=-2~ ~2-1=1~ ×
Vòng 5 × × × ~1~ ×

Khi kết thúc, ta có thông tin để xếp hạng như sau:

Học sinh ~1~ ~2~ ~3~ ~4~ ~5~
Vòng bị loại ~3~ ~3~ ~4~ × ~3~
Độ khỏe ngay trước khi bị loại ~-2~ ~0~ ~-2~ × ~0~
Độ mạnh ~2~ ~2~ ~1~ ~3~ ~4~

Như vậy,

  • Xếp hạng của học sinh ~1~ là ~r_1=c_1+1=5~, với ~c_1=4~ do tất cả học sinh còn lại đều có thứ hạng cao hơn học sinh ~1~;

  • Xếp hạng của học sinh ~2~ là ~r_2=c_2+1=4~, với ~c_2=3~ do các học sinh ~3,4,5~ có thứ hạng cao hơn học sinh ~2~;

  • Xếp hạng của học sinh ~3~ là ~r_3=c_3+1=2~, với ~c_3=1~ do chỉ có học sinh ~4~ có thứ hạng cao hơn học sinh ~3~;

  • Xếp hạng của học sinh ~4~ là ~r_4=c_4+1=1~, với ~c_4=0~ do không có học sinh nào có thứ hạng cao hơn học sinh ~4~;

  • Xếp hạng của học sinh ~5~ là ~r_5=c_5+1=3~, với ~c_5=2~ do các học sinh ~3,4~ có thứ hạng cao hơn học sinh ~5~.


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.