#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ó nn người đứng theo thứ tự từ trái sang phải, người ii có giá trị aia_i. Với mỗi ii, hãy tìm vị trí j>ij>i xa nhất về bên phải sao cho aj<aia_j<a_i. Nếu tồn tại, cần in số người đứng giữa ii và jj, tức j−i−1j-i-1; nếu không có vị trí như vậy, in −1-1.

Input

Dòng đầu chứa nn. Dòng thứ hai chứa nn số nguyên a1,a2,…,ana_1,a_2,\ldots,a_n.

Output

In nn số nguyên theo thứ tự các vị trí.

Subtask

  • Subtask 1 (30 điểm): n≤2000n\le2000; các điều kiện khác giữ nguyên.
  • Subtask 2 (70 điểm): 2≤n≤1052\le n\le10^5, 1≤ai≤1091\le a_i\le10^9.

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à 10,8,5,3,50,4510,8,5,3,50,45.

  • Vị trí 11 có giá trị 1010. Vị trí xa nhất bên phải có giá trị nhỏ hơn 1010 là vị trí 44 với giá trị 33. Có hai vị trí 2,32,3 nằm giữa, nên kết quả là 22.
  • Vị trí 22 có giá trị 88. Vị trí xa nhất nhỏ hơn 88 vẫn là vị trí 44; chỉ có vị trí 33 ở giữa, nên kết quả là 11.
  • Vị trí 33 có giá trị 55. Vị trí 44 có giá trị 3<53<5 và không còn vị trí nhỏ hơn nào xa hơn, nên số người ở giữa là 00.
  • Vị trí 44 có giá trị 33. Không có giá trị nhỏ hơn ở bên phải, nên kết quả là −1-1.
  • Vị trí 55 có giá trị 5050. Vị trí 66 có giá trị 45<5045<50, hai vị trí kề nhau nên kết quả là 00.
  • Vị trí 66 không có ai ở bên phải, nên kết quả là −1-1.

Vì vậy output là 2 1 0 -1 0 -1.