#STK0000086. Hàng đợi (Queue)
Hàng đợi (Queue)
Hàng đợi (Queue)
Nguồn: Codeforces
Phiên bản: Phước Hưng OJ Extended
Đề bài
Có người đứng theo thứ tự từ trái sang phải, người có giá trị . Với mỗi , hãy tìm vị trí xa nhất về bên phải sao cho . Nếu tồn tại, cần in số người đứng giữa và , tức ; nếu không có vị trí như vậy, in .
Input
Dòng đầu chứa . Dòng thứ hai chứa số nguyên .
Output
In số nguyên theo thứ tự các vị trí.
Subtask
- Subtask 1 (30 điểm): ; các điều kiện khác giữ nguyên.
- Subtask 2 (70 điểm): , .
Ví dụ
Input
6
10 8 5 3 50 45
Output
2 1 0 -1 0 -1
Giải thích
Các giá trị lần lượt là .
- Vị trí có giá trị . Vị trí xa nhất bên phải có giá trị nhỏ hơn là vị trí với giá trị . Có hai vị trí nằm giữa, nên kết quả là .
- Vị trí có giá trị . Vị trí xa nhất nhỏ hơn vẫn là vị trí ; chỉ có vị trí ở giữa, nên kết quả là .
- Vị trí có giá trị . Vị trí có giá trị và không còn vị trí nhỏ hơn nào xa hơn, nên số người ở giữa là .
- Vị trí có giá trị . Không có giá trị nhỏ hơn ở bên phải, nên kết quả là .
- Vị trí có giá trị . Vị trí có giá trị , hai vị trí kề nhau nên kết quả là .
- Vị trí không có ai ở bên phải, nên kết quả là .
Vì vậy output là 2 1 0 -1 0 -1.