#632. 最接近的分割点

最接近的分割点

最接近的分割点

故事背景

物流中心要把一批货物分成两车运输,希望两车的总重量尽可能接近。给定依次上架的货物重量,你只能在某个分割点把前一部分装上第一辆车,剩下的装第二辆车。请找出使两车重量差最小的分割位置。

题目描述

给定一个长度为 n 的整数数组 a,你需要选择一个分割点 i(1 ≤ i < n),将数组分为左段 [1..i] 和右段 [i+1..n]。请使得两段元素和的绝对差值 |sum(左) − sum(右)| 最小。

请输出这个最小差值以及满足最小差值的最小分割点下标 i(1 基)。

输入格式

第一行包含一个整数 n,表示数组长度。 第二行包含 n 个整数,表示数组 a 的元素。

输出格式

输出一行,包含两个整数:最小差值 和 对应的最小分割点下标 i。

输入输出样例 #1

输入 #1

5
1 2 3 4 10

输出 #1

0 4

样例解释 #1

在 i=4 处分割,左段和为 1+2+3+4=10,右段和为 10,差值为 0,且为最小。

说明/提示

  • 数据范围:1 ≤ n ≤ 2×10^5;-10^9 ≤ a_i ≤ 10^9。