CF2211A.Antimedian Deletion

传统题 时间 2000 ms 内存 256 MiB 3 尝试 1 已通过 1 标签

Antimedian Deletion

你会得到一个大小为nn的permutation^{\text{∗}} pp。你可以任意次数执行以下操作:

  • 选择大小为33的subarray^{\text{†}}。然后删除其中最小或最大的元素。

例如,对于置换[2,4,5,3,1][2,4,5,3,1],你可以选择子数组[2,4,5,3,1][\mathbf{2},\mathbf{4},\mathbf{5},3,1]。因为5=max(2,4,5)5=\operatorname{max}(2,4,5)。你可以删除55以获得数组[2,4,3,1][2,4,3,1]。你也可以选择删除22作为2=min(2,4,5)2=\operatorname{min}(2,4,5)

对于从11nn的每个ii,求出包含该数组的最小长度,该数组包含pip_i。注意,该问题需对每个ii独立求解。

长度为nn的置换^{\text{∗}}A由nn个不同整数组成的数组,从11nn,顺序任意。例如,[2,3,1,5,4][2,3,1,5,4]是一个置换,但[1,2,2][1,2,2]不是置换(22在数组中出现两次),[1,3,4][1,3,4]也不是置换(n=3n=3但数组中有44)。

^{\text{†}}An数组aa是数组bb的子数组,aa如果可以通过从bb中删除开头的若干(可能是零或全部)元素和从末尾删除若干(可能是零或全部)元素来获得。

输入

每个测试包含多个测试用例。第一行表示测试用例的数量tt1t5001 \le t \le 500)。以下是测试用例的描述。

每个测试用例的第一行包含一个整数nn1n1001 \le n \le 100)——即数组的长度。

每个测试用例的第二行包含nn整数p1,p2,,pnp_1, p_2, \ldots, p_n1pin1 \le p_i \le n)。保证从11nn的每个元素恰好出现一次。

输出

对于每个测试用例,输出nn新行的数字:即i=1,2,,ni=1,2,\ldots,n的答案。

注释

在第一个例子中,由于数组大小仅为1<31 \lt 3,我们无法执行任何操作。

在第二个例子中,对于i=2i=2,我们可以选择子数组 [2,1,3][2,1,3],并删除最大的数组 33以获得数组 [2,1][2,1]。可以证明 22 是包含 a2=1a_2=1 的可达数组的最小长度。

样例

2
1
1
3
2 1 3
1
2 2 2

在线编程 IDE

建议全屏模式获得最佳体验