E. 绝对值最小的子段和

    传统题 1000ms 256MiB

绝对值最小的子段和

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

【题目描述】

小灰灰有一个长度为 nn 的序列,第 ii 个数为 aia_i

小蓝最近在研究子段和,她想知道小灰灰这个序列中,绝对值最小的非空子段和是多少。

具体地,你需要找到一对下标 l,rl,r,满足 1lrn1\le l\le r\le n,使得

al+al+1++ar\left|a_l+a_{l+1}+\cdots+a_r\right|

尽可能小,并输出这个最小值。


【输入描述】

第一行输入一个整数 nn

第二行输入 nn 个整数,第 ii 个整数表示 aia_i

保证:

  • 1n3×1051\le n\le 3\times 10^5
  • ai106|a_i|\le 10^6

【输出描述】

输出一行一个整数,表示绝对值最小的非空子段和。


【样例 1】

【样例 1 输入】

5
3 -4 2 6 -3

【样例 1 输出】

1

【样例 1 解释】

可以选择子段 [1,3][1,3],它的和为 3+(4)+2=13+(-4)+2=1,绝对值为 11

可以验证不存在和为 00 的非空子段,所以不存在绝对值更小的非空子段和,答案为 11


【样例 2】

【样例 2 输入】

6
-10 -20 -30 17 18 19

【样例 2 输出】

4

【样例 2 解释】

可以选择子段 [2,6][2,6],它的和为 (20)+(30)+17+18+19=4(-20)+(-30)+17+18+19=4,绝对值为 44

可以验证不存在绝对值小于 44 的非空子段和,因此答案为 44


【样例 3】

见选手目录下的 Data/sample3.inData/sample3.ans

该样例满足 n100n\le 100


【样例 4】

见选手目录下的 Data/sample4.inData/sample4.ans

该样例满足 n5000n\le 5000


【样例 5】

见选手目录下的 Data/sample5.inData/sample5.ans

该样例无特殊性质。


【数据规模与约定】

测试点编号 分数 特殊性质
1 5 ai>0a_i > 0
2 5` ai<0a_i < 0
3 ~ 5 15 n100n\le 100
6 ~ 10 25 n5000n\le 5000
11 ~ 15 50

点击下载本题选手目录

2026 夏令营选拔复赛

未参加
状态
已结束
规则
OI
题目
6
开始于
2026-7-11 14:30
结束于
2026-7-11 17:30
持续时间
3 小时
主持人
参赛人数
57