CF1942B.Bessie and MEX

普及-

通过率:0%

AC君温馨提醒

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

题目描述

MOOO! - Doja Cat

⠀

农夫 John 有一个排列 p1,p2,…,pnp_1, p_2, \ldots, p_n,其中每个从 00 到 n−1n-1 的整数恰好出现一次。他给了 Bessie 一个长度为 nn 的数组 aa,并挑战她根据 aa 构造出排列 pp。

数组 aa 的构造方式为 ai=MEX(p1,p2,…,pi)−pia_i = \texttt{MEX}(p_1, p_2, \ldots, p_i) - p_i,其中 MEX\texttt{MEX} 表示一个数组中未出现的最小非负整数。例如,MEX(1,2,3)=0\texttt{MEX}(1, 2, 3) = 0,MEX(3,1,0)=2\texttt{MEX}(3, 1, 0) = 2。

请你帮助 Bessie 构造出任意一个满足 aa 的合法排列 pp。保证输入数据至少存在一个合法的 pp。如果有多个可能的 pp,只需输出其中一个即可。

输入格式

第一行包含一个整数 tt(1≤t≤1041 \leq t \leq 10^4),表示测试用例的数量。

每个测试用例的第一行包含一个整数 nn(1≤n≤2×1051 \leq n \leq 2 \times 10^5),表示 pp 和 aa 的长度。

每个测试用例的第二行包含 nn 个整数 a1,a2,…,ana_1, a_2, \ldots, a_n(−n≤ai≤n-n \leq a_i \leq n),表示数组 aa 的元素。

保证对于给定的数据,至少存在一个合法的 pp。

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

输出格式

对于每个测试用例,输出一行 nn 个整数,表示排列 pp 的元素。

如果有多组解,输出任意一组均可。

输入输出样例

  • 输入#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]p = [0, 1, 4, 2, 3] 是一种可能的输出。

此时 aa 的计算过程为:a1=MEX(0)−0=1a_1 = \texttt{MEX}(0) - 0 = 1,a2=MEX(0,1)−1=1a_2 = \texttt{MEX}(0, 1) - 1 = 1,a3=MEX(0,1,4)−4=−2a_3 = \texttt{MEX}(0, 1, 4) - 4 = -2,a4=MEX(0,1,4,2)−2=1a_4 = \texttt{MEX}(0, 1, 4, 2) - 2 = 1,a5=MEX(0,1,4,2,3)−3=2a_5 = \texttt{MEX}(0, 1, 4, 2, 3) - 3 = 2。

所以,最终 a=[1,1,−2,1,2]a = [1, 1, -2, 1, 2],与题意一致。

由 ChatGPT 4.1 翻译

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

首页