题号:NC14672
时间限制:C/C++/Rust/Pascal 3秒,其他语言6秒
空间限制:C/C++/Rust/Pascal 128 M,其他语言256 M
64bit IO Format: %lld
题目描述
“伟大的勇士兔栽栗女王,所有栗子看到您都不寒而栗,但也非常尊重您。您骑着威风凛凛的小白兔,带领兔栽栗们奋勇前行。伟大史诗告诉我们,烈兔勇栗从大草原飞奔出来,冲在每场战争的前线——无论您在哪里,他们都能找到您。骑小白兔飞驰吧,凶猛的女王,但愿您有真正的朋友和软弱的敌人。”
今天,冰雪聪明的栗酱终于玩到了她梦寐很久的文明游戏。
不过作为一个萌新,兔头獐脑的栗酱自然不愿意第一次玩就遇到一个尴尬的开局,于是希望通过你来寻找一个完美开局。
已知开始时场上有n个国家,每个国家有一个初始人口基数ai,2个人口基数均不为0的国家间可以进行一场战争,而战争会使这两个国家的人口基数分别下降1,任意2个国家之间最多进行一场战争。
完美开局的定义是:存在一种战争集合,当这些战争完成以后,所有国家的人口基数总和取得最小值。
现在请你输出完美开局下所有国家的人口基数之和。
输入描述:
第一行一个数T,表示有T组数据。
对于每组数据,第一行输入一个数n,表示国家的数量,接下来一行输入n个数,
a1,a2,…,an, 其中ai表示第i个国家的初始人口基数。
每两个相邻的数之间用空格隔开。
输出描述:
对于每一个询问,输出一个数,即完美开局下所有国家的人口基数之和。
示例1
输入
复制
2
4
3 3 3 3
8
3 4 3 4 1 3 3 4
说明
对于第一个样例:
国家1与国家2之间进行一场战争,剩下的人口基数为:2 2 3 3,
国家1与国家3之间进行一场战争,剩下的人口基数为:1 2 2 3,
国家1与国家4之间进行一场战争,剩下的人口基数为:0 2 2 2,
国家2与国家3之间进行一场战争,剩下的人口基数为:0 1 1 2,
国家2与国家4之间进行一场战争,剩下的人口基数为:0 0 1 1,
国家3与国家4之间进行一场战争,剩下的人口基数为:0 0 0 0。
任意两个国家之间恰好分别发生一场战争,剩余人口基数和取得最小值0。
备注:
T≤10
1≤n≤105
1≤ai≤n