问题 5552 --平衡点

5552: 平衡点

题目描述

给定一个由 $n$ 个整数组成的数列 $a_1,a_2,\cdots,a_n$,请为这个数列找到一个平衡点,使得平衡点左侧与右侧的引力尽量接近。 若平衡点为 $a_k$,则左侧引力定义为数列中下标小于 $k$ 的各个元素到 $a_k$ 的距离乘以这些元素大小的总和。同理,右侧引力定义为数列中下标大于 $k$ 的每个元素到 $a_k$ 的距离乘以这些元素大小的总和。 例如 $n=6$,若选 $a_4$ 为平衡,左侧的引力计算公式为: $$L=a_1\times(4-1)+a_2\times(4-2)+a_3\times(4-3)$$ 右侧引力计算公式为: $$R=a_5\times(5-4)+a_6\times(6-4)$$ 请找到一个最佳平衡点,并输出选择该点为平衡点时,左右引力之差绝对值的最小值。

输入

第一行:单个整数表示 $n$; 第二行:$n$ 个整数表示 $a_1,a_2,\cdots,a_n$。

输出

单个整数:表示在选择了最佳平衡点的前提下,两侧引力之差绝对值的最小值。

样例输入输出

输入#1 复制
4
1 2 3 4
输出#1 复制
0

提示

+ $0\leq a_i\leq 1,000$; + 对于 $30\%$ 的数据,$3 \leq n \leq 10,000$; + 对于 $60\%$ 的数据,$3 \leq n \leq 50,000$; + 对于 $100\%$ 的数据,$3 \leq n \leq 100,000$。 样例1说明:3号位为平衡点
序号 标题 作者 发表时间 费用 订购数 操作