#CF1965D. 缺失的子数组和
缺失的子数组和
缺失的子数组和
单个测试用例时间限制: 秒 内存限制: 兆字节
有一个长度为 的隐藏正整数数组 ,且已知 是一个回文数组,即对所有 ,满足 。
给定该数组除某一个子数组和以外的所有不同子数组和(顺序任意)。缺失的那个和可以是该数组共 个子数组和中的任意一个。
请还原出任意一个满足条件的回文数组 。题目保证输入至少存在一个合法解。
如果数组 可以通过删除 开头若干个(可以是 个)元素以及删除 末尾若干个(可以是 个)元素得到,则 是 的子数组。
输入格式
第一行输入一个整数 (),表示测试用例数量。
每个测试用例的格式如下:
- 第一行包含一个整数 (),表示隐藏数组的长度。
- 第二行包含 个整数 (),表示缺失了一个和的全部子数组和。
保证所有测试用例的 之和不超过 。
额外输入限制:输入数据保证至少存在一个合法解。
本题不允许 hack。
输出格式
对于每个测试用例,输出一行 个正整数 ,表示任意一个合法的回文数组。
如果有多个解,输出任意一个即可。
样例输入
7
3
1 2 3 4 1
4
18 2 11 9 7 11 7 2 9
4
5 10 5 16 3 3 13 8 8
4
8 10 4 6 4 20 14 14 6
5
1 2 3 4 5 4 3 2 1 1 2 3 2 1
5
1 1 2 2 2 3 3 3 3 4 5 5 6 8
3
500000000 1000000000 500000000 500000000 1000000000
样例输出
1 2 1
7 2 2 7
3 5 5 3
6 4 4 6
1 1 1 1 1
2 1 2 1 2
500000000 500000000 500000000
样例说明
第一个样例中,数组 的所有子数组为:
- ,和为
- ,和为
- ,和为
- ,和为
- ,和为
- ,和为
因此完整的子数组和列表为 ,输入中缺失的和为 。
第二个样例中,缺失的子数组和为 ,对应子数组 。
第三个样例中,缺失的和为 ,因为有两个子数组和为 ( 与 ),但输入中 只出现了一次。