JOI 2018 - Sugoroku

Xem PDF



Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 600 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

JOI tìm thấy một bàn cờ Sugoroku ở nhà chú. Bàn cờ gồm \(N+2\) ô nằm trên một đường thẳng. Ô thứ nhất là ô xuất phát, còn ô thứ \(N+2\) là ô đích. Với mỗi \(i\) từ \(1\) đến \(N\), ô thứ \(i+1\) ghi số \(A_i\), bằng \(0\) hoặc \(1\).

Ban đầu, quân cờ được đặt ở ô xuất phát. Người chơi lặp lại việc gieo xúc xắc và tiến quân cờ một số ô bằng số chấm gieo được. Nếu quân cờ dừng ở một ô ghi số \(1\), người chơi thua ngay. Nếu quân cờ đến hoặc vượt qua ô đích mà chưa thua, người chơi thắng.

JOI đến cửa hàng đồ chơi để mua xúc xắc. Cửa hàng bán \(N+1\) loại xúc xắc: loại thứ \(j\)\(j\) mặt, ghi lần lượt các số \(1,2,\ldots,j\), mỗi số xuất hiện trên đúng một mặt.

JOI muốn mua loại xúc xắc có ít mặt nhất sao cho tồn tại một dãy kết quả gieo giúp JOI thắng. Hãy xác định số mặt của loại xúc xắc cần mua.

Dữ liệu vào

  • Dòng đầu chứa số nguyên \(N\).
  • Dòng thứ hai chứa \(N\) số nguyên \(A_1,A_2,\ldots,A_N\).

Dữ liệu ra

In ra số mặt ít nhất của một loại xúc xắc mà JOI có thể dùng để thắng.

Ràng buộc

  • \(1 \le N \le 100\).
  • \(0 \le A_i \le 1\) với mọi \(1 \le i \le N\).

Ví dụ

Ví dụ 1

Input
5
0 1 0 0 0
Output
2
Giải thích

Bàn cờ có \(7\) ô, trong đó chỉ ô thứ \(3\) ghi số \(1\). Với xúc xắc có \(2\) mặt, chẳng hạn dãy kết quả gieo \(1,2,1,1,1\) giúp JOI thắng. Đây là số mặt ít nhất có thể.

Ví dụ 2

Input
5
1 1 1 1 1
Output
6
Giải thích

Bàn cờ có \(7\) ô. Tất cả các ô trừ ô xuất phát và ô đích đều ghi số \(1\), nên cần xúc xắc có ít nhất \(6\) mặt.

Ví dụ 3

Input
7
0 0 1 0 1 1 0
Output
3

Nguồn

JOI 2017/2018, vòng loại, bài 2. Đề bài của Ban tổ chức Olympic Tin học Nhật Bản, theo giấy phép CC BY-SA 4.0.

Bình luận

Mới nhất
Tải bình luận...

Không có bình luận nào.

Kỳ thi: