CF1141C.Polycarp Restores Permutation

普及/提高-

通过率:0%

时间限制:2.00s

内存限制:256MB

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

An array of integers p1,p2,…,pnp_1, p_2, \dots, p_n is called a permutation if it contains each number from 11 to nn exactly once. For example, the following arrays are permutations: [3,1,2][3, 1, 2], [1][1], [1,2,3,4,5][1, 2, 3, 4, 5] and [4,3,1,2][4, 3, 1, 2]. The following arrays are not permutations: [2][2], [1,1][1, 1], [2,3,4][2, 3, 4].

Polycarp invented a really cool permutation p1,p2,…,pnp_1, p_2, \dots, p_n of length nn. It is very disappointing, but he forgot this permutation. He only remembers the array q1,q2,…,qn−1q_1, q_2, \dots, q_{n-1} of length n−1n-1, where qi=pi+1−piq_i=p_{i+1}-p_i.

Given nn and q=q1,q2,…,qn−1q=q_1, q_2, \dots, q_{n-1}, help Polycarp restore the invented permutation.

一个整数数组 p1,p2,…,pnp_1, p_2, \dots, p_n 被称为排列,当且仅当它恰好包含从 11 到 nn 的每一个整数各一次。例如,以下数组均为排列:[3,1,2][3, 1, 2]、[1][1]、[1,2,3,4,5][1, 2, 3, 4, 5] 和 [4,3,1,2][4, 3, 1, 2];而以下数组则不是排列:[2][2]、[1,1][1, 1]、[2,3,4][2, 3, 4]。

波利卡普(Polycarp)发明了一个长度为 nn 的非常酷的排列 p1,p2,…,pnp_1, p_2, \dots, p_n。但令人非常沮丧的是,他忘记了这个排列。他只记得一个长度为 n−1n-1 的数组 q1,q2,…,qn−1q_1, q_2, \dots, q_{n-1},其中 qi=pi+1−piq_i = p_{i+1} - p_i。

给定 nn 和 q=q1,q2,…,qn−1q = q_1, q_2, \dots, q_{n-1},请帮助波利卡普还原出这个被发明的排列。

输入格式

The first line contains the integer nn (2≤n≤2⋅1052 \le n \le 2\cdot10^5) — the length of the permutation to restore. The second line contains n−1n-1 integers q1,q2,…,qn−1q_1, q_2, \dots, q_{n-1} (−n<qi<n-n \lt q_i \lt n).

第一行包含一个整数 nn(2≤n≤2⋅1052 \le n \le 2\cdot10^5)——待还原排列的长度。第二行包含 n−1n-1 个整数 q1,q2,…,qn−1q_1, q_2, \dots, q_{n-1}(−n<qi<n-n \lt q_i \lt n)。

输出格式

Print the integer -1 if there is no such permutation of length nn which corresponds to the given array qq. Otherwise, if it exists, print p1,p2,…,pnp_1, p_2, \dots, p_n. Print any such permutation if there are many of them.

如果不存在长度为 nn 且对应于给定数组 qq 的排列,则输出整数 −1-1;否则,若存在这样的排列,则输出 p1,p2,…,pnp_1, p_2, \dots, p_n。若存在多个满足条件的排列,输出其中任意一个即可。

输入输出样例

  • 输入#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测评打分。不知道怎么写?

首页