Đọc sách trinh thám

Đề bài

Mô tả

Một cuốn sách trinh thám có n trang, đánh số từ 1 đến n. Trang thứ i đặt ra một bí ẩn, và lời giải cho bí ẩn đó nằm ở trang ai (luôn có ai≥i, nghĩa là lời giải không bao giờ nằm trước trang đặt ra bí ẩn; ai=i có nghĩa là bí ẩn được giải ngay trong chính trang đó).

Người đọc đọc cuốn sách theo cách sau. Mỗi ngày, anh ta bắt đầu từ trang đầu tiên chưa đọc và đọc tiếp các trang liên tiếp. Anh ta chỉ dừng lại khi mọi bí ẩn trong các trang đã đọc đều đã được giải thích, tức là không còn trang i nào đã đọc mà trang ai thì chưa đọc. Khi đó anh ta gấp sách lại, và hôm sau đọc tiếp từ trang kế tiếp.

Hãy tính số ngày cần thiết để đọc hết cuốn sách.

Dữ liệu vào

  • Dòng đầu chứa số nguyên n là số trang của cuốn sách.
  • Dòng thứ hai chứa n số nguyên a1,a2,…,an, trong đó ai là số hiệu trang giải thích bí ẩn ở trang i.

Dữ liệu ra

In ra một số nguyên duy nhất là số ngày cần thiết để đọc hết cuốn sách.

Ràng buộc

  • 1≤n≤104
  • i≤ai≤n

Ví dụ

Input Output Giải thích
9
1 3 3 6 7 6 8 8 9
4 Ngày 1 đọc trang 1 (bí ẩn trang 1 giải ngay tại trang 1). Ngày 2 đọc trang 2 và 3: sau trang 2 vẫn còn nợ trang 3, đọc thêm trang 3 thì hết nợ. Ngày 3 đọc các trang 4 đến 8. Ngày 4 đọc trang 9.
4
1 2 4 4
3 Ngày 1 đọc trang 1, ngày 2 đọc trang 2, ngày 3 đọc trang 3 và 4 (trang 3 nợ đến tận trang 4).
10
4 9 4 10 6 8 9 8 9 10
1 Trang 2 nợ đến trang 9 và trang 4 nợ đến trang 10, nên không thể dừng ở đâu trước trang 10. Cả cuốn sách đọc trong đúng một ngày.

Bình luận

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

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.402 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0