CF1141C.Polycarp Restores Permutation
普及/提高-
通过率:0%
时间限制:2.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
An array of integers p1,p2,…,pn is called a permutation if it contains each number from 1 to n exactly once. For example, the following arrays are permutations: [3,1,2], [1], [1,2,3,4,5] and [4,3,1,2]. The following arrays are not permutations: [2], [1,1], [2,3,4].
Polycarp invented a really cool permutation p1,p2,…,pn of length n. It is very disappointing, but he forgot this permutation. He only remembers the array q1,q2,…,qn−1 of length n−1, where qi=pi+1−pi.
Given n and q=q1,q2,…,qn−1, help Polycarp restore the invented permutation.
一个整数数组 p1,p2,…,pn 被称为排列,当且仅当它恰好包含从 1 到 n 的每一个整数各一次。例如,以下数组均为排列:[3,1,2]、[1]、[1,2,3,4,5] 和 [4,3,1,2];而以下数组则不是排列:[2]、[1,1]、[2,3,4]。
波利卡普(Polycarp)发明了一个长度为 n 的非常酷的排列 p1,p2,…,pn。但令人非常沮丧的是,他忘记了这个排列。他只记得一个长度为 n−1 的数组 q1,q2,…,qn−1,其中 qi=pi+1−pi。
给定 n 和 q=q1,q2,…,qn−1,请帮助波利卡普还原出这个被发明的排列。
输入格式
The first line contains the integer n (2≤n≤2⋅105) — the length of the permutation to restore. The second line contains n−1 integers q1,q2,…,qn−1 (−n<qi<n).
第一行包含一个整数 n(2≤n≤2⋅105)——待还原排列的长度。第二行包含 n−1 个整数 q1,q2,…,qn−1(−n<qi<n)。
输出格式
Print the integer -1 if there is no such permutation of length n which corresponds to the given array q. Otherwise, if it exists, print p1,p2,…,pn. Print any such permutation if there are many of them.
如果不存在长度为 n 且对应于给定数组 q 的排列,则输出整数 −1;否则,若存在这样的排列,则输出 p1,p2,…,pn。若存在多个满足条件的排列,输出其中任意一个即可。
输入输出样例
输入#1
3 -2 1
输出#1
3 1 2
输入#2
5 1 1 1 1
输出#2
1 2 3 4 5
输入#3
4 -1 2 2
输出#3
-1
输入解题思路,AI测评打分。不知道怎么写?