CF1942B.Bessie and MEX
普及-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
⠀
农夫 John 有一个排列 p1,p2,…,pn,其中每个从 0 到 n−1 的整数恰好出现一次。他给了 Bessie 一个长度为 n 的数组 a,并挑战她根据 a 构造出排列 p。
数组 a 的构造方式为 ai=MEX(p1,p2,…,pi)−pi,其中 MEX 表示一个数组中未出现的最小非负整数。例如,MEX(1,2,3)=0,MEX(3,1,0)=2。
请你帮助 Bessie 构造出任意一个满足 a 的合法排列 p。保证输入数据至少存在一个合法的 p。如果有多个可能的 p,只需输出其中一个即可。
输入格式
第一行包含一个整数 t(1≤t≤104),表示测试用例的数量。
每个测试用例的第一行包含一个整数 n(1≤n≤2×105),表示 p 和 a 的长度。
每个测试用例的第二行包含 n 个整数 a1,a2,…,an(−n≤ai≤n),表示数组 a 的元素。
保证对于给定的数据,至少存在一个合法的 p。
保证所有测试用例中 n 的总和不超过 2×105。
输出格式
对于每个测试用例,输出一行 n 个整数,表示排列 p 的元素。
如果有多组解,输出任意一组均可。
输入输出样例
输入#1
3 5 1 1 -2 1 2 5 1 1 1 1 1 3 -2 1 2
输出#1
0 1 4 2 3 0 1 2 3 4 2 0 1
说明/提示
在第一个样例中,p=[0,1,4,2,3] 是一种可能的输出。
此时 a 的计算过程为:a1=MEX(0)−0=1,a2=MEX(0,1)−1=1,a3=MEX(0,1,4)−4=−2,a4=MEX(0,1,4,2)−2=1,a5=MEX(0,1,4,2,3)−3=2。
所以,最终 a=[1,1,−2,1,2],与题意一致。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?