#P5066. 分队

分队

Description

## 题目描述 学校篮球队选拔已经结束,老师面前站着一排通过选拔的队员们。老师希望将队员们分成3个队伍进行训练,即按照最左边的a人、中间的b人、以及最后右边的c人进行分配,且满足a + b + c = n。分配时,需要满足以下条件: **队伍人数要求**:三个队伍中人数最少的队伍的人数,必须大于等于人数最多的队伍人数的一半。 **连续性**:分配时,队员必须按照从左到右的顺序,不能打乱原有排列。 **实力平均值差距最小**:在满足上述条件的前提下,尽量使得三个队伍的实力平均值之间的差距达到最小。这里的差距是指实力平均值最高的队伍与实力平均值最低的队伍之间的差值。 现在,请你作为军师,帮助老师完成这个任务,找到满足条件的队员分配方案,并输出三个队伍实力平均值的最小差距。结果需要保留两位小数。 ## 输入格式 第一行输入一个整数n(3 ≤ n ≤ 1000),表示通过选拔的队员数量。 第二行输入n个整数,依次表示从左到右n位队员的实力值,1 ≤ 实力值 ≤ 1000000。 ## 输出格式 输出一个小数,表示在满足条件的分配方案中,三个队伍实力平均值的最小差距。结果需要保留两位小数。 ## 样例输入1 ```input1 5 100 90 100 110 100 ``` ## 样例输出1 ```output1 10.00 ``` ## 样例解释1 可以组成一队(100),二队(90, 100),三队(110, 100)。三个队伍的实力平均值分别为100、95、105,差距为10。 方案一队(100),二队(90, 100, 110),三队(100),虽然能使差距更小,但不满足队员人数要求 ## 样例输入2 ```input2 6 90 90 100 100 110 110 ``` ## 样例输出2 ```output2 20.00 ``` ## 样例解释2 可以组成一队(90, 90),二队(100, 100),三队(110, 110)。三个队伍的实力平均值分别为90、100、110,差距为20。 方案一队(90, 110),二队(100, 100),三队(90, 110),虽然能使差距更小,但不满足队员分配的连续性要求。 ## 数据范围 对于50%的数据,保证:3 ≤ n ≤ 100,1 ≤ 实力值 ≤ 1000000; 对于所有的数据,保证:3 ≤ n ≤ 1000,1 ≤ 实力值 ≤ 1000000。