U656122 [ACBA R1 A] 向 1 而生

题目背景

[ACBA R1 链接](https://www.luogu.com.cn/contest/307790)。

题目描述

给定一个长度为 $n$ 的序列 $a_1,a_2,\cdots,a_n$,序列中的每个数为 $0$ 或 $1$。至少有一个 $a_i$ 为 $1$。 现在需要把序列分为若干段,使得每段中恰好有一个 $1$。设每段长度的最大值为 $x$,求 $x$ 的最小值。

输入格式

第一行:一个正整数 $n$。 第 $2$ 至第 $n+1$ 行:第 $i+1$ 行包含一个整数,代表 $a_i$。

输出格式

一个数,代表 $x$ 的最小值。

说明/提示

**本题采用捆绑测试**。当且仅当你通过了某个 Subtask 的全部数据时,你才能获得该 Subtask 的分数。 每个 Subtask 的具体信息如下: |Subtask 编号|分值|$n$|特殊性质| | :----------: | :----------: | :----------: | :----------: | |0|10|$\le 10$|无| |1|22|$\le 1000$|无| |2|1|$\le 3 \times 10^5$|全部 $a_i$ 为 $1$| |3|1|$\le 3 \times 10^5$|恰有一个 $a_i$ 为 $1$| |4|66|$\le 3 \times 10^5$|无| 对于全部数据,$1 \le n \le 3 \times 10^5,0 \le a_i \le 1$,且存在至少一个 $i$($1 \le i \le n$)使得 $a_i=1$。 【**样例解释**】 唯一一种分段的方式是:第一段包含 $a_1$,第二段包含 $a_2,a_3,a_4$。