问题2718--能量分配

2718: 能量分配

[命题人 : ]
时间限制 : 2 sec  内存限制 : 256 MB

提交

题目描述

在一艘深空勘探索船上,主能量管线由一排依次排列的 N 个能量节点构成,第 i 个节点的能量值为 x_i。

为了提高系统稳定性,工程师计划将这条能量管线划分给四个独立的能量控制单元,规则如下:

  • 从第一个能量节点开始,按顺序依次划分为 4 段连续的区间;
  • 第 1 段由控制单元 A 接管,第 2 段由控制单元 B 接管,第 3 段由控制单元 C 接管,最后剩余的节点全部由控制单元 D 接管;
  • 每个控制单元必须至少接管一个节点(即 4 段都非空、连续且覆盖全部节点)。
对于第 k 个控制单元,其总能量定义为自己负责区间内所有 x_i 之和,记为 S_k (k = 1, 2, 3, 4)。
为了避免某一控制单元负载过重或过轻,工程师希望四个控制单元的总能量尽量“接近”,用下面这个量度来衡量不均衡程度:
  • Delta = max(S1, S2, S3, S4) - min(S1, S2, S3, S4)
你的任务是:在所有合法划分方式中,使 Delta 尽可能小,并输出这个最小值。

输入

第一行输入一个整数 N,表示能量节点的数量。
第二行输入 N 个整数 x_1 x_2 ... x_N,表示每个节点的能量值。
其中:
  • 4 <= N <= 5 * 10^5 
  • 1 <= x_i <= 10^9 (1 <= i <= N) 
  • 保证 N >= 4,使得每个控制单元都能分到至少一个节点。

输出

输出一个整数,表示在最优划分方案下,四个控制单元中“总能量最大值”和“总能量最小值”之间的最小差值。

样例输入 Copy

8
2 3 10 20 1 2 3 17

样例输出 Copy

14

提示

一种可行的划分方式为(用竖线|表示分割):
能量序列:2 3 10 | 20 | 1 2 3 | 17
对应四个控制单元的总能量为:
  • 单元 A:第 1~3 个节点,总能量 S1 = 2 + 3 + 10 = 15
  • 单元 B:第 4 个节点,总能量 S2 = 20
  • 单元 C:第 5~7 个节点,总能量 S3 = 1 + 2 + 3 = 6
  • 单元 D:第 8 个节点,总能量 S4 = 17
此时:
max(S1, S2, S3, S4) = 20
min(S1, S2, S3, S4) = 6
不均衡程度 Delta = 20 - 6 = 14。
可以证明,不存在任何其他划分方式能使 Delta 小于 14,因此答案为 14。