ZOJ Problem Set - 4066
DreamGrid and BaoBao are playing a game. There are $n$ soldiers in the game, numbered from $1$ to $n$. The $i$-th soldier has a power value of $a_i$. DreamGrid and BaoBao are going to divide the soldiers into several teams according to the rules below:
The power value of a team is defined as the sum of the team members' power values. For the sake of fairness, they want to minimize the difference between the maximum team power value and the minimum team power value after the division. You are asked to find the minimum difference.
There are multiple test cases. The first line of the input contains an integer $T$, indicating the number of test cases. For each test case:
The first line contains an integer $n$ ($1 \le n \le 10^5$), indicating the number of soldiers.
The second line contains $n$ integers $a_1, a_2, \dots, a_n$ ($-10^9 \le a_i \le 10^9$), where $a_i$ indicates the power value of the $i$-th soldier.
It's guaranteed that the sum of $n$ in all test cases will not exceed $10^6$.
For each test case output one line containing one integer, indicating the minimum difference between the maximum team power value and the minimum team power value.
3 5 -1 4 2 1 1 4 1 3 2 4 1 7
1 2 0
We now explain the first sample test case. All possible divisions are listed below.
So the answer is $\min(5, 5, 5, 7, 2, 7, 1, 2) = 1$.
Author: CHEN, Shihan
Source: The 2018 ACM-ICPC Asia Qingdao Regional Contest