Xếp hàng
Xem PDF
Điểm:
1000 (p)
Thời gian:
0.5s
Bộ nhớ:
1G
Input:
LINEUP.INP
Output:
LINEUP.OUT
Trong giờ học đội ngũ, có \(n\) người xếp hàng dọc đánh số từ \(1\) tới \(n\), người thứ \(i\) có chiều cao là \(h_i\). Người có chỉ số nhỏ hơn đứng trước.
Sau khi xếp hàng, có một số người phàn nàn rằng anh ta bị người khác chắn tầm mắt. Cụ thể là người \(i\) bị người \(j\) chắn tầm mắt nếu:
- Người \(j\) đứng trước người \(i\) \((j < i)\),
- Người \(j\) cao hơn người \(i\) \((h_j > h_i)\),
- Người \(j\) đứng gần người \(i\) nhất (\(j\) lớn nhất có thể).
Yêu cầu: Với mỗi người, cho biết anh ta bị người nào chắn tầm mắt.
Input
Vào từ file văn bản LINEUP.INP
- Dòng 1 chứa số nguyên dương \(n \leq 10^5\).
- Dòng 2 chứa \(n\) số nguyên dương \(h_1, h_2, \ldots, h_n\) cách nhau bởi dấu cách \((\forall i: h_i \leq 10^9)\).
Output
Ghi ra file văn bản LINEUP.OUT \(n\) số \(k_1, k_2, \ldots, k_n\) cách nhau bởi dấu cách. Trong đó \(k_i\) là số hiệu người chắn tầm mắt của người \(i\). Nếu người \(i\) không bị ai chắn tầm mắt, thì quy ước \(k_i = 0\).
Example
Test 1
LINEUP.INP
9
30 20 10 40 90 50 40 60 70
LINEUP.OUT
0 1 2 0 0 5 6 5 5
Nguồn: Thầy Lê Minh Hoàng
Bình luận