Chọn ĐTQG Thái Nguyên 2026 - Phân lớp tăng
Xem dạng PDFTrong trường hợp đề bài hiển thị không chính xác, bạn có thể tải đề bài tại đây: Đề bài
Minh có một dãy gồm ~N~ số nguyên. Minh thực hiện thao tác tách một lớp tăng trên dãy hiện tại như sau:
Giữ lại phần tử đầu tiên của dãy.
Xét lần lượt các phần tử còn lại từ trái sang phải. Với mỗi phần tử ~x~, nếu ~x~ lớn hơn nghiêm ngặt phần tử được giữ lại gần nhất thì giữ lại ~x~; ngược lại, chuyển ~x~ sang cuối một dãy chờ.
Các phần tử được giữ lại, theo đúng thứ tự ban đầu, tạo thành một lớp tăng. Sau khi in lớp này, Minh tiếp tục thực hiện cùng thao tác trên dãy chờ. Quá trình kết thúc khi dãy chờ rỗng.
Hãy in lần lượt tất cả các lớp tăng thu được.
Input
Dòng đầu chứa số nguyên ~N~ ~(1 \le N \le 2 \cdot 10^5)~;
Dòng thứ hai chứa ~N~ số nguyên ~a_1, a_2, \dots, a_N~ ~(1 \le a_i \le 10^6)~.
Output
- Sau mỗi lần tách, in lớp tăng vừa thu được trên một dòng. Các số trên cùng một dòng được in theo thứ tự xuất hiện trong dãy ban đầu.
Scoring
| Subtask | Điểm | Ràng buộc |
|---|---|---|
| 1 | ~25\%~ | ~N \le 100~ |
| 2 | ~25\%~ | ~N \le 5000~ |
| 3 | ~25\%~ | ~a_i \le 10~ với mọi ~1 \le i \le N~ |
| 4 | ~25\%~ | Không có giới hạn gì thêm |
Sample Input 1
9
6 2 5 5 1 4 7 3 8
Sample Output 1
6 7 8
2 5
5
1 4
3
Notes
Ở lần tách đầu tiên, Minh giữ lại ~6~, sau đó chỉ có ~7~ và ~8~ lớn hơn phần tử được giữ gần nhất, nên thu được lớp ~[6, 7, 8]~. Dãy chờ khi đó là ~[2, 5, 5, 1, 4, 3]~; lần tách tiếp theo tạo lớp ~[2, 5]~. Tiếp tục tương tự, ba lớp còn lại lần lượt là ~[5]~, ~[1, 4]~ và ~[3]~.
Bình luận