1692:平衡点

文件提交:无需freopen 内存限制:128 MB 时间限制:1.000 S
评测方式:普通裁判 命题人:
提交:3 解决:2

题目描述

给定一个由 $n$ 个整数组成的数列 $a_1,a_2,...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,....a_n$

$0\le a_i\le 10^6; 3\le n\le 10^5$

输出

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

样例输入-1 复制

4
1 2 3 4

样例输出-1 复制

0