已结束 GESP巅峰赛#37

A7501 | 午枫的宝藏

时间限制1s
内存限制128MB
通过 / 提交0/0

题目描述

午枫历经千辛万苦,终于破译了宝藏密码,打开了宝箱!

宝箱里是很多很多的金币(可以看成无穷多),午枫需要与手下的 $n$ 名水手们分享金币。

根据大嘤帝国的传统,分配宝藏对于船长而言是一件稍不留神就会丧命的苦差事。这是由于,船长需要将每人能分到多少宝藏的决议公布,之后全体船员(包括船长)会投票决定决议是否通过。如果半数及以上船员(包括船长)投票通过,船长就能够安全地执行决议;否则,船长就会被投海杀死,由第 $1$ 顺位继承人继承船长的职位并再次分配,再不通过就继续投海杀死并由第 $2$ 顺位继承人继承,依此类推。

好在经过多日的相处,午枫知道手下的水手各个都是 聪明绝顶贪婪 并且 相互之间如掐脖 的狠人!每个水手都会在 保证自己不被杀死 的前提下 企图获得更大的利益

现在,午枫想要知道,如何分配给第 $1,2,\cdots,n$ 顺位继承人的金币数量,才能保证自己只需要分出去最少的金币就能保住自己的性命。

输入格式

本题单个测试点内包含多组测试数据。

输入第一行一个正整数 $T$,表示数据组数。

每组数据第一行一个正整数 $n$,表示午枫手下不包括他自己在内的水手数量。

输出格式

为了避免输出量过大,输出对每组数据进行压缩。

对于每组数据,假设午枫分配给船长的第 $i$ 顺位继承人的金币数量为 $r_i$,你只需要输出一行一个压缩后的非负整数 $R$:
$$ R = \left( \sum_{i=1}^{n} i \cdot r_i \right) \bmod (10^9+7) $$
可以证明序列 $r_1, r_2, \cdots, r_n$ 唯一。

输入输出样例

输入 #1
2
1
2
输出 #1
0
2
C++ 编辑器
输入
输出