CF1981C.Turtle and an Incomplete Sequence
普及+/提高
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
Turtle 正在玩一个由正整数组成的序列 a1,a2,…,an。不幸的是,在玩耍过程中有一些整数丢失了。
现在这个序列变得不完整。可能存在任意多个下标 i,使得 ai 变成了 −1。记新的序列为 a′。
Turtle 很伤心。但 Turtle 记得,对于每一个从 1 到 n−1 的整数 i,原始序列 a 满足 ai=⌊2ai+1⌋ 或 ai+1=⌊2ai⌋。
Turtle 想让你帮他补全这个序列。但有时候 Turtle 也会出错,所以如果你无法补全这个序列,需要告诉他。
形式化地说,你需要找到另一个由正整数组成的序列 b1,b2,…,bn,满足:
- 对于每一个 1≤i≤n,如果 ai′=−1,则 bi=ai′。
- 对于每一个 1≤i≤n−1,要么 bi=⌊2bi+1⌋,要么 bi+1=⌊2bi⌋。
- 对于每一个 1≤i≤n,1≤bi≤109。
如果不存在满足上述所有条件的序列 b1,b2,…,bn,你需要输出 −1。
输入格式
每组测试数据包含多组测试用例。第一行包含一个整数 t(1≤t≤105),表示测试用例的数量。
每组测试用例的第一行包含一个整数 n(2≤n≤2⋅105),表示序列的长度。
每组测试用例的第二行包含 n 个整数 a1′,a2′,…,an′(ai′=−1 或 1≤ai′≤108),表示序列 a′ 的元素。
保证所有测试用例中 n 的总和不超过 2⋅105。
输出格式
对于每组测试用例,如果不存在满足条件的序列 b1,b2,…,bn,输出一个整数 −1。
否则,输出 n 个整数 b1,b2,…,bn,表示你找到的序列 b1,b2,…,bn 的元素。要求对于每一个 1≤i≤n,1≤bi≤109。如果有多组答案,输出任意一组均可。
输入输出样例
输入#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,5,10,5,2,1,3] 和 [4,2,1,2,1,2,1,4] 都不是。
在第二个测试用例中,[1,2,5,2] 也是一个可行答案。
从第 4 到第 6 个测试用例,可以证明不存在可行解,因此你应该输出 −1。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?