Sưu tập số

Xem dạng PDF

Gửi bài giải

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

Dạng bài

Bạn được cho một mảng gồm các số từ 1 đến ~n~, mỗi số xuất hiện đúng một lần, nhưng theo thứ tự ngẫu nhiên.

Nhiệm vụ của bạn là thu thập các số từ ~1~ đến ~n~ theo thứ tự tăng dần ~(1 → 2 → 3 → ... → n)~.

Ở mỗi vòng, bạn sẽ duyệt từ trái sang phải trong mảng và thu thập được càng nhiều số càng tốt (theo thứ tự mong muốn hiện tại). Hỏi bạn cần tối thiểu bao nhiêu vòng để thu thập hết tất cả các số?


Đầu vào:

Dòng đầu tiên chứa số nguyên ~n~: kích thước mảng.

Dòng thứ hai chứa n số nguyên ~x₁, x₂, ..., xₙ~: các số trong mảng, là hoán vị của ~1~ đến ~n~.


Đầu ra:

In ra một số nguyên: số vòng tối thiểu cần để thu thập đủ các số từ ~1~ đến ~n~.


Ràng buộc:

~1 \le n \le 2 \cdot 10^5~

Ví dụ :

Input:
5
4 2 1 5 3
Output:
3

Giải thích:

Vòng 1: gặp 4 → bỏ qua, 2 → bỏ qua, 1 → thu, 5 → bỏ qua, 3 → bỏ qua → Đã thu được 1

Vòng 2: từ đầu, cần 2: gặp 4, 2 → thu, 1, 5, 3 → 3 cũng thu luôn → Thu được 2, 3

Vòng 3: từ đầu, cần 4: gặp 4 → thu, 5 → thu

→ Tổng cộng 3 vòng.


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.