CF1141B.Maximal Continuous Rest

传统题 时间 2000 ms 内存 256 MiB 4 尝试 1 已通过 1 标签

Maximal Continuous Rest

题目描述

在 Berland,每天有 nn 个小时。Polycarp 很注重时间管理,因此他每天都有一个固定的作息安排——这是一个长度为 nn 的序列 a1,a2,,ana_1, a_2, \dots, a_n(每个 aia_i 只能是 0011),其中 ai=0a_i=0 表示 Polycarp 在第 ii 个小时工作,ai=1a_i=1 表示 Polycarp 在第 ii 个小时休息。

日子会无休止地连续进行,Polycarp 每天都使用相同的作息表。

请你求出 Polycarp 连续休息的最长小时数是多少。注意,由于天数是无限循环的,你需要考虑跨天的情况。保证每天至少有一个工作小时。

输入格式

第一行包含一个整数 nn1n21051 \le n \le 2\cdot10^5),表示每天的小时数。

第二行包含 nn 个整数 a1,a2,,ana_1, a_2, \dots, a_n0ai10 \le a_i \le 1),其中 ai=0a_i=0 表示第 ii 个小时为工作时间,ai=1a_i=1 表示第 ii 个小时为休息时间。保证至少存在一个 ai=0a_i=0

输出格式

输出 Polycarp 连续休息的最长小时数。注意要考虑天数无限循环的情况,即可以跨天统计连续休息时间。

说明/提示

在第一个样例中,最长的休息时间从最后一个小时延续到第二天的第一个小时。

在第二个样例中,Polycarp 最长的休息时间是从第 44 小时到第 55 小时。

在第三个样例中,Polycarp 最长的休息时间是从第 33 小时到第 55 小时。

在第四个样例中,Polycarp 没有任何休息时间。

由 ChatGPT 4.1 翻译

样例

5
1 0 1 0 1
2
6
0 1 0 1 1 0
2
7
1 0 1 1 1 0 1
3
3
0 0 0
0

在线编程 IDE

建议全屏模式获得最佳体验