CF1981C.Turtle and an Incomplete Sequence

普及+/提高

通过率:0%

AC君温馨提醒

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

题目描述

Turtle 正在玩一个由正整数组成的序列 a1,a2,…,ana_1, a_2, \ldots, a_n。不幸的是,在玩耍过程中有一些整数丢失了。

现在这个序列变得不完整。可能存在任意多个下标 ii,使得 aia_i 变成了 −1-1。记新的序列为 a′a'。

Turtle 很伤心。但 Turtle 记得,对于每一个从 11 到 n−1n-1 的整数 ii,原始序列 aa 满足 ai=⌊ai+12⌋a_i = \left\lfloor\frac{a_{i + 1}}{2}\right\rfloor 或 ai+1=⌊ai2⌋a_{i + 1} = \left\lfloor\frac{a_i}{2}\right\rfloor。

Turtle 想让你帮他补全这个序列。但有时候 Turtle 也会出错,所以如果你无法补全这个序列,需要告诉他。

形式化地说,你需要找到另一个由正整数组成的序列 b1,b2,…,bnb_1, b_2, \ldots, b_n,满足:

  • 对于每一个 1≤i≤n1 \le i \le n,如果 ai′≠−1a'_i \ne -1,则 bi=ai′b_i = a'_i。
  • 对于每一个 1≤i≤n−11 \le i \le n-1,要么 bi=⌊bi+12⌋b_i = \left\lfloor\frac{b_{i+1}}{2}\right\rfloor,要么 bi+1=⌊bi2⌋b_{i+1} = \left\lfloor\frac{b_i}{2}\right\rfloor。
  • 对于每一个 1≤i≤n1 \le i \le n,1≤bi≤1091 \le b_i \le 10^9。

如果不存在满足上述所有条件的序列 b1,b2,…,bnb_1, b_2, \ldots, b_n,你需要输出 −1-1。

输入格式

每组测试数据包含多组测试用例。第一行包含一个整数 tt(1≤t≤1051 \le t \le 10^5),表示测试用例的数量。

每组测试用例的第一行包含一个整数 nn(2≤n≤2⋅1052 \le n \le 2 \cdot 10^5),表示序列的长度。

每组测试用例的第二行包含 nn 个整数 a1′,a2′,…,an′a'_1, a'_2, \ldots, a'_n(ai′=−1a'_i = -1 或 1≤ai′≤1081 \le a'_i \le 10^8),表示序列 a′a' 的元素。

保证所有测试用例中 nn 的总和不超过 2⋅1052 \cdot 10^5。

输出格式

对于每组测试用例,如果不存在满足条件的序列 b1,b2,…,bnb_1, b_2, \ldots, b_n,输出一个整数 −1-1。

否则,输出 nn 个整数 b1,b2,…,bnb_1, b_2, \ldots, b_n,表示你找到的序列 b1,b2,…,bnb_1, b_2, \ldots, b_n 的元素。要求对于每一个 1≤i≤n1 \le i \le n,1≤bi≤1091 \le b_i \le 10^9。如果有多组答案,输出任意一组均可。

输入输出样例

  • 输入#1

    9
    8
    -1 -1 -1 2 -1 -1 1 -1
    4
    -1 -1 -1 -1
    6
    3 -1 -1 -1 9 -1
    4
    -1 5 -1 6
    4
    2 -1 -1 3
    4
    1 2 3 4
    2
    4 2
    5
    -1 3 -1 3 6
    13
    -1 -1 3 -1 -1 -1 -1 7 -1 -1 3 -1 -1

    输出#1

    4 9 4 2 4 2 1 2
    7 3 6 13
    3 1 2 4 9 18
    -1
    -1
    -1
    4 2
    6 3 1 3 6
    3 1 3 1 3 7 3 7 3 1 3 1 3

说明/提示

在第一个测试用例中,[4,2,1,2,1,2,1,3][4, 2, 1, 2, 1, 2, 1, 3] 也是一个可行答案,而 [4,2,5,10,5,2,1,3][4, 2, 5, 10, 5, 2, 1, 3] 和 [4,2,1,2,1,2,1,4][4, 2, 1, 2, 1, 2, 1, 4] 都不是。

在第二个测试用例中,[1,2,5,2][1, 2, 5, 2] 也是一个可行答案。

从第 4 到第 6 个测试用例,可以证明不存在可行解,因此你应该输出 −1-1。

由 ChatGPT 4.1 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页