Cho một dãy gồm \(n\) số tự nhiên, hãy tìm cách chia dãy này thành một số ít nhất các dãy con không giảm sao cho thứ tự của các số trong dãy con không thay đổi so với ban đầu.
Ví dụ: với \(n\ = \ 5\) và dãy \(\{ 1,\ 4,\ 3,\ 5,\ 3\}\), ta có thể chia thành hai dãy \(\{ 1,\ 3,\ 3\}\) và \(\{ 4,\ 5\}\).
Dữ liệu vào:
- Dòng đầu tiên ghi số nguyên dương \(n\) \((n \leq \ 10^{5})\).
- Dòng thứ hai ghi \(n\) số tự nhiên mô tả dãy. Giá trị các phần tử của dãy đều không quá \(10^{9}\).
- Các số trên một dòng cách nhau ít nhất một dấu cách.
Dữ liệu ra:
Một số nguyên dương \(k\) là số dãy con trong phép phân tích tìm được.
Ví dụ:
Input | Output |
---|---|
10 5 3 6 5 5 6 4 3 7 2 | 5 |
Code tích cực |
---|
Trong 24h |
|
Trong 7 ngày |
|
Trong 30 ngày |
|
Thống kê |
---|
AC/Sub: 97887/180710 Pascal: 17121 C++: 130348 Python: 33199 Lượt xem/tải tests: 38906 |