CFCF2201A1.Lost Civilization (Easy Version)
普及/提高-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
这是本题的简单版本。不同版本的区别在于,在本题中你只需要为一个序列计算一个值。只有在你解决了所有版本的问题后,你才能对其进行 hack。
我们定义一种生成包含 m+k 个整数的算法如下:
- 首先,输入一个长度为 m 的整数序列 x。如果 k=0,则直接终止并返回序列 x。
- 然后,选择任意一个下标 1≤i≤∣x∣,并在元素 xi 之后插入一个数 (xi+1)。
- 如果 x 的长度恰好等于 m+k,则终止并返回序列 x。否则,返回第二步继续操作。
Alice 知道古代文明曾经使用这个算法来安全地隐藏他们的秘密。Alice 想要了解他们所隐藏的知识,但要从算法的输出反推输入并不容易。
给定一个长度为 n 的整数序列 a,请你求出通过上述算法可能生成 a 的最短初始序列的长度。
输入格式
每个测试点包含多个测试用例。第一行包含一个整数 t(1≤t≤104),表示测试用例的数量。
每个测试用例第一行包含一个整数 n(1≤n≤300000)。
第二行包含 n 个整数 a1,a2,…,an(1≤ai≤109)。
保证所有测试用例中 n 的总和不超过 300000。
输出格式
对于每个测试用例,输出可能的最短初始序列的长度,每行一个答案。
输入输出样例
输入#1
5 5 1 2 3 4 5 5 1 3 5 7 9 5 1 2 5 6 5 7 1 2 4 5 3 7 8 9 9 8 9 2 3 4 4 5 3
输出#1
1 5 3 4 3
说明/提示
在第一个测试用例中,序列 [1] 可以通过如下过程生成序列 a=[1,2,3,4,5]:
[1]→[1,2]→[1,2,3]→[1,2,3,4]→[1,2,3,4,5]
在第二个测试用例中,唯一能生成 a=[1,3,5,7,9] 的初始序列只能是 a 本身。
由 ChatGPT 5 翻译