Universal Cup Judging System

Universal Cup

実行時間制限: 1 s メモリ制限: 2048 MB 満点: 100
統計

立体光刻(SLA)是一种通过激光逐层固化液体材料来制造固体物体的 3D 打印技术。在本题中,我们考虑 SLA 的一种二维简化模型,其中待打印物体的设计可以用一个由 ‘#’ 和 ‘.’ 字符组成的矩形网格来表示,其中 ‘#’ 代表物体占据的网格单元,‘.’ 代表空空间。例如,下面是一个 $4 \times 8$ 的设计:

..#..... ..#..#..

.#.##..

.#####.

设计不一定由单个连通块组成,但除了底层的 ‘#’ 单元外,每个 ‘#’ 单元都必须由其正下方的另一个 ‘#’ 单元支撑。

使用 SLA 打印物体时,从底层开始逐层进行。首先,该行的所有单元格都会被液态光敏树脂淹没。然后,激光扫过该行,将所有 ‘#’ 单元格中的树脂固化为固体,并跳过所有 ‘.’ 单元格。接着,最左侧 ‘#’ 左侧和最右侧 ‘#’ 右侧的剩余液体会流走。其他液体则会被困住。(如果该行中没有 ‘#’ 单元格——这种情况只会发生在设计顶部附近的行,即物体已完全打印完毕之后——则该行的所有液体都会流走。)此过程对后续每一行重复进行。对于上述设计,打印完成后,树脂残留在所有标记为 ‘~’ 的单元格中:

..#..... ..#~~#..

~#~##..

~#####.

在手动清理物体上残留的树脂时,你开始思考:仅凭打印后每一行残留的液态树脂量,能恢复多少原始设计?对于上述设计,每一行(从设计顶部开始)残留的树脂量分别为 0, 2, 2, 1。其他设计也可能具有相同的残留树脂特征;例如:

....

..

..

.

给定每一行(从顶行开始)残留的液态树脂单元格数量列表,请打印出满足这些残留树脂量的最窄物体设计的宽度。如果不存在这样的设计,则打印 impossible

输入格式

第一行包含一个整数 $N$ ($1 \le N \le 10^5$),表示物体设计的行数。接下来 $N$ 行,每行包含一个整数 $x$ ($0 \le x \le 10^9$),表示目标物体设计中每一行(从上到下)残留的液态树脂单元格数量。

至少有一行包含至少一个残留的液态树脂单元格。

输出格式

打印出残留液态树脂单元格数量与输入匹配的最窄物体设计的宽度(列数)。(“最窄”指列数尽可能小)。如果不存在这样的设计,则打印 impossible

样例

样例输入 1

4
0
2
2
1

样例输出 1

4

样例输入 2

3
4
0
4

样例输出 2

11

说明

样例输入 1 对应于上述示例。样例输入 2 的一种最窄可能设计为:

#....#.....
######.....
######....#

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.