Gửi bài giải
Điểm:
10,00
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
256M
Input:
CAU2.INP
Output:
CAU2.OUT
Tác giả:
Dạng bài
Trong 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
Cho dãy A gồm n số nguyên a1, a2, ..., an khác nhau đôi một.
Yêu cầu: Chia dãy A thành ít nhất các dãy con (có thể không liên tiếp) sao cho:
- Mỗi phần tử của dãy A thuộc một và chỉ một dãy con.
- Mỗi dãy con có thể có một phần tử hoặc nếu nhiều hơn một thì khi giữ nguyên trật tự như ở dãy ban đầu sẽ cho ta một dãy số tăng dần.
Nếu hai số ai, aj bất kì (1 ≤ i < j ≤ n) thuộc cùng một dãy con thì mọi số ak (k=1..n) mà ai < ak < aj cũng thuộc dãy con đó.
Dữ liệu: Vào từ tệp văn bản CAU2.INP gồm:
Dòng đầu chứa số nguyên dương n (n ≤ 10^5);
- Dòng thứ hai chứa n số nguyên dương a1, a2, ..., an (ai ≤ 109 với mọi i = 1..n).
Kết quả: Ghi ra tệp văn bản CAU2.OUT một số nguyên duy nhất là số dãy con ít nhất tìm được.
Ví dụ:
CAU2.INP
5
2 4 1 5 3
CAU2.OUT
3
Mô tả
Các dãy con lần lượt là:
Dãy 1: 1
Dãy 2: 4, 5
Dãy 3: 2, 3
Ràng buộc:
- Có 40% số điểm có n ≤ 103 và ai ≤ n với mọi i = 1..n;
- Có 40% số điểm tiếp theo có n ≤ 10^5 và ai ≤ n với mọi i = 1..n;
- Có 20% số điểm còn lại không có ràng buộc gì thêm.