A125924.皓仔的三段数组

普及-

官方

通过率:0%

时间限制:1.00s

内存限制:128MB

题目描述

皓仔拿到了一个长度为 nn 的正整数数组。

现在,他需要把这个数组分成连续的三段,并且每一段都不能为空。

也就是说,需要选择两个分割位置,把数组分成:第 11 段, 第 22 段和第 33

对于每一种分法,皓仔会分别计算三段的元素和,记为 s1,s2,s3s_1,s_2,s_3

接着,皓仔会在这三个和中找出最大值和最小值,并计算它们之间的差值:

皓仔想知道,所有分法中,这个差值最小是多少。

输入格式

第一行输入一个整数 nn,表示数组长度。

第二行输入 nn 个正整数,表示数组中的元素。

输出格式

输出一个整数,表示三段和的最大值与最小值之间差值的最小值。

输入输出样例

  • 输入#1

    5
    1 2 3 4 5

    输出#1

    2

说明/提示

【样例解释】

一种较优的分法是:

  • 11 段:1,2,31,2,3,元素和为 66
  • 22 段:44,元素和为 44
  • 33 段:55,元素和为 55

三段和分别为 6,4,56,4,5

其中最大值是 66,最小值是 44,它们之间的差值为:

64=26-4=2

可以证明,没有更小的分法,所以答案为 22

【数据范围】

对于全部数据,保证:

  • 3n5003 \le n \le 500
  • 1ai1061 \le a_i \le 10^6
首页