CFCF2162D.Beautiful Permutation

普及-

通过率:0%

AC君温馨提醒

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

题目描述

这是一个交互式问题。

有一个长度为 nn 的排列 pp^{\ast}

某人秘密地选择了两个整数 l,rl,r1lrn1 \le l \le r \le n),并以如下方式修改了排列:

  • 对于每一个满足 lirl \le i \le r 的下标 ii,将 pi:=pi+1p_i := p_i + 1

aa 为经过上述修改后得到的数组。

给定整数 nn,表示排列 pp 的长度。

你可以进行一次查询,每次可以选择两个整数 l,rl, r1lrn1 \le l \le r \le n),并查询原始排列 p[lr]p[l\dots r] 的子数组和,或修改后数组 a[lr]a[l\dots r] 的子数组和。对于该查询,系统会返回对应的整数和。

你的任务是在不超过 40\mathbf{40} 次查询的情况下,找出用来获得 aa 的一对 (l,r)(l, r)

^{\ast} 长度为 nn 的排列是一个由 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)。

输入格式

输入第一行包含一个整数 tt1t1041 \le t \le 10^4),表示测试用例的数量。

每个测试用例第一行为一个整数 nn1n21041 \le n \le 2 \cdot 10^4),表示排列的长度。

保证所有测试用例中 nn 的总和不超过 21042 \cdot 10^4

输出格式

(本题为交互题,请根据题意与评测机进行交互,输出格式可参看样例,详细交互协议见题意。)

输入输出样例

  • 输入#1

    2
    
    
    3
    
    4
    
    5
    
    
    4
    
    8
    
    8
    
    9

    输出#1

    1 1 2
    
    2 1 2
    
    ! 2 2
    
    1 2 4
    
    2 1 3
    
    2 3 4
    
    ! 2 4

说明/提示

对于第一个测试用例,p=[3,1,2]p = [3, 1, 2],且 l=2l = 2r=2r = 2。因此,修改后的数组 a=[3,2,2]a = [3, 2, 2]

因此,查询“1 1 2\texttt{1 1 2}”返回 p1+p2=3+1=4p_1 + p_2 = 3 + 1 = 4。查询“2 1 2\texttt{2 1 2}”返回 a1+a2=3+2=5a_1 + a_2 = 3 + 2 = 5

对于第二个测试用例,p=[2,1,3,4]p = [2, 1, 3, 4],且 l=2l = 2, r=4r = 4

注意,样例测试中给出的查询只是为了演示说明,并不一定对应最佳解法。

首页