#STK0000074. Giá trị nhỏ hơn gần nhất (Nearest Smaller Values)

Giá trị nhỏ hơn gần nhất (Nearest Smaller Values)

Giá trị nhỏ hơn gần nhất (Nearest Smaller Values)

Nguồn: CSES

Phiên bản: Phước Hưng OJ Extended

Đề bài

Cho dãy x1,x2,…,xnx_1,x_2,\ldots,x_n. Với mỗi vị trí ii, hãy tìm vị trí jj lớn nhất thỏa mãn j<ij<i và xj<xix_j<x_i. Nếu không tồn tại vị trí như vậy, đáp án của vị trí ii là 00.

Input

Dòng đầu chứa số nguyên nn. Dòng thứ hai chứa nn số nguyên x1,x2,…,xnx_1,x_2,\ldots,x_n.

Output

In nn số nguyên. Số thứ ii là vị trí gần nhất bên trái của ii có giá trị nhỏ hơn xix_i, hoặc 00 nếu không có.

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): 1≤n≤2⋅1051\le n\le 2\cdot10^5, 1≤xi≤1091\le x_i\le10^9.

Ví dụ

Input

8
2 5 1 4 8 3 2 5

Output

0 1 0 3 4 3 3 7

Giải thích

Ta xét lần lượt từng vị trí:

  • i=1i=1: bên trái không có phần tử nào, nên kết quả là 00.
  • i=2i=2: x2=5x_2=5. Vị trí gần nhất bên trái có giá trị nhỏ hơn là 11 vì x1=2<5x_1=2<5, nên kết quả là 11.
  • i=3i=3: x3=1x_3=1. Cả 22 và 55 đều không nhỏ hơn 11, nên kết quả là 00.
  • i=4i=4: x4=4x_4=4. Ngay bên trái là x3=1<4x_3=1<4, nên kết quả là 33.
  • i=5i=5: x5=8x_5=8. Ngay bên trái là x4=4<8x_4=4<8, nên kết quả là 44.
  • i=6i=6: x6=3x_6=3. Hai giá trị gần hơn là 88 và 44 đều không nhỏ hơn 33; x3=1<3x_3=1<3, nên kết quả là 33.
  • i=7i=7: x7=2x_7=2. Các giá trị 3,8,43,8,4 không nhỏ hơn 22; x3=1<2x_3=1<2, nên kết quả là 33.
  • i=8i=8: x8=5x_8=5. Ngay bên trái là x7=2<5x_7=2<5, nên kết quả là 77.

Vì vậy dãy chỉ số cần in là 0 1 0 3 4 3 3 7.