#loj5242. 「NOISG 2020 Final」Labels
「NOISG 2020 Final」Labels
[AdditionalFile5242.zip](file://AdditionalFile5242.zip?type=additional_file)
#5242. 「NOISG 2020 Final」Labels
标签: 传统 | 时间限制: 1000 ms | 内存限制: 1024 MiB |
题目描述
译自 NOISG 2020 Final T1. Labels
今天是快递员查尔斯的第一天工作。他被分配了运送 个包裹,每个包裹上有一个(不一定唯一)介于 到 之间的标签编号。每天结束时,他需要报告一个包含 个整数的序列 ,即 ,其中 是第 个送达包裹的标签编号。
作为一名热爱数学的人,查尔斯决定使用差值编码来节省内存空间,并记录了一个包含 个整数的序列 ,即 ,其中 。
在送完所有包裹后,查尔斯意识到他不知道如何从 恢复 。你的任务是帮助他恢复 ,或者说明无法唯一恢复 。
输入格式
程序需从标准输入读取数据。
第一行包含一个整数 ,表示包裹总数。
第二行包含 个空格分隔的整数 ,其中 表示第 个送达包裹与第 个送达包裹的标签编号之差。
输出格式
程序需向标准输出输出结果。
如果可以从 唯一恢复 ,输出 个空格分隔的整数,表示序列 。
否则,输出一行,包含单个整数 。
样例 1
输入
5
1 3 -2 1
输出
1 2 5 3 4
可以唯一恢复 。
这与 一致,因为:
这个样例满足子任务 的限制。
样例 2
输入
5
2 2 -3 1
输出
1 3 5 2 3
可以唯一恢复 。注意,标签编号可以出现多次。
这个样例满足子任务 的限制。
样例 3
输入
2
0
输出
-1
这个样例满足所有子任务的限制。
数据范围与提示
对于所有输入数据,满足:
详细子任务附加限制及分值如下表所示:
| 子任务 | 分值 | 附加限制 |
|---|---|---|
| 无附加限制 |