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 |
|
| Kỳ thi |
|---|
| Lập trình cơ bản |
| Luyện thi Chuyên Tin - CB |
| Luyện thi Chuyên Tin - NC |
| Tuyển tập Đề thi Tuyển sinh 10 |
| Tuyển tập Đề thi HSG THCS |
| Tuyển tập Đề thi HSG THPT |
| Tuyển tập Đề thi HSG Chọn đội tuyển |
| Thống kê |
|---|
|
AC/Sub: 120817/226949 Pascal: 18142 C++: 157988 Python: 50747 Lượt xem/tải tests: 41096 |