Cho một dãy số nguyên A gồm n phần tử. Ta định nghĩa mảng B gồm n phần tử, B[i] được tính như sau:
- Bằng A[j] là phần tử gần nhất bên trái A[i] và nhỏ hơn hoặc bằng A[i] (với 1<=j<i, j lớn nhất có thể, A[j] <= A[i]).
- Bằng 0 khi không tồn tại A[j] như trên.
Ví dụ: A = {2,5,3,6} thì B = {0,2,2,3}
- A[1] là số đầu tiên trong dãy => B[1] = 0
- Số gần nhất bên trái nhỏ hơn hoặc bằng 5 là 2 => B[2] = 2
- Số gần nhất bên trái nhỏ hơn hoặc bằng 3 là 2 => B[3] = 2
- Số gần nhất bên trái nhỏ hơn hoặc bằng 6 là 3 = > B[4] = 3
Yêu cầu: Cho mảng A, hãy tìm và in ra mảng B thõa mãn điều kiện trên.
Giới hạn:
1 <= n <= 105
1 <= A[i] <= 109
Input:
Dòng đầu tiên là số nguyên n
Dòng thứ hai gồm n số nguyên là các phần tử của mảng A
Output:
Gồm n số nguyên là các phần tử của mảng B
Input:
4
2 5 3 6
Output:
0 2 2 3