#P15594. [ICPC 2020 Jakarta R] Exchange Bottleneck

[ICPC 2020 Jakarta R] Exchange Bottleneck

说明

巴兹贝索宁国目前有 NN 座城市(编号从 11NN),由双向道路连接。当一对城市 uuvv 想要交换消息时,延迟 定义为从 uuvv 所需的最少道路数量。

这些城市有着悠久的历史。最初,城市 11 建在巴兹贝索宁的中部。此后,其余城市从 22NN 依次建造。在建造城市 xx 时,根据当时的经济状况,会同时修建一条或多条双向道路。

  • 如果城市 xx 是在经济景气时建造的,则会修建连接城市 xx 与所有先前已建城市的道路。也就是说,对于所有 1y<x1 \leq y < x,修建连接城市 xx 和城市 yy 的道路。
  • 如果城市 xx 是在经济不景气时建造的,则只修建连接城市 xx 和城市 x1x-1 的道路。

巴兹贝索宁的经济状况由二进制数组 E1...N1E_{1...N-1} 表示。如果在建造城市 xx 时经济景气,则 Ex1E_{x-1} 的值为 11,否则为 00

回到现在,NN 座城市中的每一座都想与其他所有城市交换消息。交换的瓶颈是所有城市对之间延迟的最大值。我们需要计算消息交换的瓶颈。

例如,令 N=5N = 5E1...4=[1,0,1,0]E_{1...4} = [1, 0, 1, 0]。巴兹贝索宁的城市和道路可由下图说明:

:::align{center} :::

  • 城市 11 和城市 22 的延迟为 11
  • 城市 11 和城市 33 的延迟为 22
  • 城市 11 和城市 44 的延迟为 11
  • 城市 11 和城市 55 的延迟为 22
  • 城市 22 和城市 33 的延迟为 11
  • 城市 22 和城市 44 的延迟为 11
  • 城市 22 和城市 55 的延迟为 22
  • 城市 33 和城市 44 的延迟为 11
  • 城市 33 和城市 55 的延迟为 22
  • 城市 44 和城市 55 的延迟为 11

因此,本例中的瓶颈为 22

输入格式

输入第一行包含一个整数 NN2N1000002 \leq N \leq 100\,000),表示巴兹贝索宁的城市数量。下一行包含 N1N-1 个整数 EiE_iEi{0,1}E_i \in \{0,1\}),表示巴兹贝索宁的经济状况。

输出格式

输出一行一个整数,表示消息交换的瓶颈。

5
1 0 1 0
2
7
1 1 1 1 1 1
1

提示

样例 #1 解释

此为题目描述中的示例。

样例 #2 解释

每一对城市之间都由道路直接相连,因此它们的延迟均为 11

翻译由 DeepSeek 完成