#260. 编程组队

编程组队

当前没有测试数据。

在一所学校里有 (n) 个学生,学生的数量是偶数。第 (i) 位学生的编程水平是 aia_i。 教练打算将他们分成 n/2n/2 支队伍,每只队伍有恰好两名学生,每名学生应该属于恰好一个队伍。两名学生能够组成一支队伍当且仅当他们的编程水平相同(否则他们就没有共同语言)。 学生们可以通过刷 XJOI 来增加他们的编程水平,每刷一道题他们的编程水平就会上升 (1)。 教练想知道,这些学生们最少一共要刷多少道题,才能使他们组成 n/2n/2支队伍(也就是每个人都能在一个团队中)。 输入的第一行包含一个整数 n(2n100) n (2 \le n \le 100) ,表示学生的数量。保证 (n) 为偶数。 输入的第二行包含 (n) 个整数 a1,a2,an(1ai100) a_1, a_2, \ldots a_n (1 \le a_i \le 100) ,第 (i) 个整数表示第 (i) 个学生的编程水平。 输出一个整数,表示最少的总刷题数。

6
5 10 2 3 14 5
5
2
1 100
99

样例解释 1

最优组队方案为 ((3, 4), (1, 6), (2, 5)),其中括号内的两个数表示学生的编号。为了达到这个目的,第 3 名学生应做 1 道题,第 2 名学生应做 4 道题。所以答案为 (1 + 4 = 5)。

样例解释 2

第一名学生应再刷 99 道题。