duong3982oj Contest 03 - Điểm đặc biệt

Xem dạng PDF

Gửi bài giải


Điểm: 100,00 (OI)
Giới hạn thời gian: 1.5s
Giới hạn bộ nhớ: 1G
Input: stdin
Output: stdout

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Kotlin, Output Only, Pascal, PyPy, Python, Scratch, TEXT

Cho dãy số ~p_1, p_2, ..., p_n~ là hoán vị của tập ~\{1, 2,..., n\}~

Một vị trí ~j~ (~j > i~) được định nghĩa là vị trí đặc biệt của ~i~ nếu như mà ~j~ thuộc tất cả dãy con tăng dài nhất bắt đầu từ vị trí ~i~.

Với mỗi ~i~, in ra số vị trí ~j~ đặc biệt.

Nhắc lại: Dãy con tăng dài nhất của một hoán vị là tập các chỉ số ~i_1, i_2, ..., i_k~ sao cho ~k~ lớn nhất, và ~p_{i_1} < p_{i_2} < ... < p_{i_k}~.

INPUT

  • Dòng đầu tiên nhập vào ~n~ (~1 \le n \le 10^6~).
  • Dòng tiếp theo nhập vào ~n~ số nguyên dương ~p_1, p_2, ..., p_n~ là hoán vị của tập ~\{1, 2,..., n\}~.

OUTPUT

  • Dòng duy nhất in ra ~n~ số nguyên ~x_1, x_2, ... , x_n~ với ~x_i~ là số vị trí đặc biệt của ~i~.

SAMPLE INPUT

5
3 4 1 2 5

SAMPLE OUTPUT

2 1 2 1 0

Giải thích:

  • Với ~i = 1~, ta có dãy con tăng dài nhất là ~(3, 4, 5)~ nên ~2~ là đáp án thỏa mãn đề bài (với ~j = 2~ và ~j = 5~).
  • Với ~i = 2~, ta có dãy con tăng dài nhất là ~(4, 5)~ nên ~1~ là đáp án thỏa mãn đề bài (với ~j = 5~).
  • Với ~i = 3~, ta có dãy con tăng dài nhất là ~(1, 2, 5)~ nên ~2~ là đáp án thỏa mãn đề bài (với ~j = 4~ và ~j = 5~).
  • Với ~i = 4~, ta có dãy con tăng dài nhất là ~(2, 5)~ nên ~1~ là đáp án thỏa mãn đề bài (với ~j = 5~).
  • Với ~i = 5~, không tồn tại dãy con thỏa mãn đề bài.

SUBTASKS

Subtask Điểm Ràng buộc
1 ~15~ ~n \le 100~.
2 ~25~ ~n \le 10^3~.
3 ~20~ Dãy ~p~ là dãy đồng biến hoặc nghịch biến (dãy tăng dần hoặc giảm dần).
4 ~40~ Không có ràng buộc gì thêm.

Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.