Đoàn thanh niên tổ chức một cuộc chạy kêu gọi mọi người hưởng ứng phong trào “Vì một cuộc
sống không có rác thải nhựa”. Có \(n\) người tham gia cuộc chạy, mỗi người mặc một áo phông có
in số ở lưng, áo người thứ \(i\) có số là \(a_i, i = 1 ÷ n\).
Sau cuộc chạy mọi người tập trung ở quảng trường thành phố, tham gia trò chơi tập thể “Khâu
yếu nhất”. Các bạn đứng thành một vòng tròn, cạnh người thứ 2 là người thứ nhất và thứ 3, cạnh
người thứ 3 là người thứ 2 và thứ tư, . . ., cạnh người thứ \(n\) là người thứ \(n-1\) và người thứ nhất.
Trò chơi bao gồm nhiều lượt đi. Ở mỗi lượt, những ai có số áo nhỏ hơn số áo hai người cạnh mình
bước ra khỏi hàng, những người còn lại đứng dồn khít thành vòng tròn nhỏ hơn. Trò chơi kết thúc
khi trong vòng tròn chỉ còn có 2 người hoặc khi không có ai phải bước ra ngoài.
Với mỗi người hãy xác định lượt đi mà họ phải bước ra ngoài. Những người còn lại trong vòng
tròn khi trò chơi kết thúc có số của lượt đi ra là 0. Các lượt đi đánh số từ 1.
Input
- Dòng đầu tiên chứa số nguyên \(n\ (2 \le n \le 2 × 10^5)\),
- Dòng thứ 2 chứa \(n\) số nguyên \(a_1, a_2, . . ., a_n\ (1 \le a_i \le 10^9, i = 1 ÷ n)\).
Output
- Đưa ra trên một dòng \(n\) số nguyên, số thứ \(i\) xác định lượt đi
ra của người thứ \(i, i = 1 ÷ n\).
Example
Test 1
Input
5
5 1 3 1 5
Output
0 1 2 1 0
Bình luận
brute_force nếu case nhỏ
cho em xin hướng dẫn bài này với ạ , em cảm ơn