#529. AGAIN! Permutation with MAX Score

传统 1000 ms 1024 MiB
标准 IO
Special Judge dd 标签

题目描述

定义一个长度为 nn 的排列 pp 的得分 scorepscore_pi=1n[(j=1ipj)=k×pi]\sum_{i=1}^n[(\sum_{j=1}^i p_j)=k\times p_i],即在 pp 的所有下标中,前缀和是当前位置的值的 kk 倍的下标数量。

给定整数 nn,你需要确定一个正整数 kk,求出所有的长度为 nn 的排列中,得分的最大值是多少。

一个长度为 nn 的排列 pp 是指从 11nn 的每个整数恰巧在 pp 中出现一次,例如 [3,1,2][3,1,2][1][1] 都是排列,但是 [1,1,3][1,1,3][3,2,4][3,2,4] 都不是排列。

输入格式

第一行,一个整数 t(1t104)t(1\le t\le 10^4),代表数据组数。

对于每组数据,仅输入一个正整数 n(1n106)n(1\le n\le 10^6),代表排列的长度。

保证同一测试点内 nn 的总和不超过 10610^6

输出格式

对于每组数据,输出共有两行:

第一行,一个整数 k(1k1012)k(1\le k\le 10^{12}),代表你选择的整数 kk

第二行,一个长度为 nn 的排列,代表得分最高的排列。

任意满足题目要求的答案都是正确的。

样例

输入样例

6
1
2
3
4
5
6

输出样例

1
1
1
2 1
3
3 1 2
3
4 2 3 1
3
4 2 3 1 5
3
2 1 5 4 6 3

样例解释
对于第四组样例,得分的数字被红色标出 [4,2,3,1][4,{\color{red}{2}},{\color{red}{3}},1]
对于下标为 22 的数字 224+2=3×24+2=3\times 2;对于下标为 33 的数字 334+2+3=3×34+2+3=3\times 3