DEQ01 - DEQ01
Dữ liệu vào: standard input
Dữ liệu ra: standard output
Giới hạn thời gian: 1.0 giây
Giới hạn bộ nhớ: 512 megabyte
Đăng bởi: justys

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

Ví dụ

Input:

4

2 5 3 6

Output:

0 2 2 3

Back to Top