PreVOI 2026 - Contest 2 - Sắp xếp

Xem dạng PDF

Gửi bài giải

Điểm: 80,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 1G
Input: stdin
Output: stdout

Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Output Only, Pascal, PyPy, Python, Scratch, TEXT

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

Alice tìm thấy một cỗ máy có thể sắp xếp dãy số theo thứ tự không giảm. Nguyên tắc hoạt động của máy như sau: Chia dãy thành một số đoạn, các đoạn sẽ được đóng băng (nghĩa là các phần tử trong mỗi đoạn giữ nguyên vị trí tương đối trong đoạn), máy sẽ tiến hành sắp xếp các đoạn để nhận được dãy không giảm.

Ví dụ: dãy ~(2, 4, 1, 2, 1)~ được chia làm ba đoạn ~(2, 4), (1, 2), (1)~, sắp xếp lại các đoạn ~(1), (1, 2), (2, 4)~ để nhận được dãy không giảm.

Tuy nhiên, chi phí thực hiện của máy phụ thuộc vào số đoạn được chia. Do đó, Alice muốn tìm cách chia dãy thành ít đoạn nhất thỏa mãn.

Yêu cầu: Hãy chia dãy thành ít đoạn nhất để có thể sắp xếp theo thứ tự không giảm.

Input

  • Dòng đầu chứa số nguyên dương ~n~ (~n \le 5 \times 10^5~).
  • Dòng thứ hai chứa ~n~ số nguyên dương ~a_1, a_2, \dots, a_n~ (~a_i \le 10^6~).

Output

  • Ghi ra một dòng chứa một số nguyên là số đoạn ít nhất để có thể sắp xếp theo thứ tự không giảm.

Sample Input 1

5
2 4 1 2 1

Sample Output 1

3

Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.