[VTT Q4 Contest 06] Bài 1: Dãy cơ sở [BASE]
Xem dạng PDF
Gửi bài giải
Điểm:
1,00 (OI)
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
256M
Input:
BASE.INP
Output:
BASE.OUT
Dạng bài
Ngôn ngữ cho phép
C++, Pascal, PyPy, Python
Cho dãy ~a~ gồm ~n~ số nguyên dương ~a_1, a_2, \dots, a_n~. Phần tử ~a_i~ được gọi là điểm lõm nếu tìm được hai chỉ số ~k, l~ sao cho ~1 \le k < i < l \le n~ và đồng thời ~a_k > a_i~, ~a_i < a_l~ (tức là ở bên trái có một số lớn hơn nó và ở bên phải cũng có một số lớn hơn nó).
Phép rút gọn là thao tác xóa đúng một điểm lõm khỏi dãy. Nếu cứ thực hiện phép rút gọn nhiều lần như vậy thì cuối cùng sẽ được dãy ~b~ gồm ~m~ phần tử mà trong đó không còn điểm lõm nào. Dãy ~b~ này gọi là dãy cơ sở của dãy ~a~.
Cho dãy ~a~, hãy tìm dãy cơ sở ~b~ của nó.
Dữ liệu
- Dòng đầu tiên chứa số nguyên ~n~ (~1 \le n \le 10^3~) là số phần tử của dãy ~a~.
- Dòng thứ hai chứa ~n~ số nguyên ~a_1, a_2, \dots, a_n~ (~1 \le a_i \le 10^9~).
Kết quả
- Dòng đầu tiên ghi số nguyên ~m~ là số phần tử của dãy ~b~.
- Dòng thứ hai ghi ~m~ số nguyên ~b_1, b_2, \dots, b_m~.
Ví dụ
BASE.INP
5
3 2 5 4 1
BASE.OUT
4
3 5 4 1
Bình luận