/*****************
直接求前缀和
则 sum[i] - sum[j] 即为 i-j之间的元素之和
再进行从小到大排序
由于是从小到大排序所以答案即为两两之间的差值
如 前缀和序列 -3 -1 2 4 8
对于 -3 显然只有-1与它的差值最小
注意: ans的起始值要取前缀和中绝对值最小的
用 __int64
*****************/
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cmath>
using namespace std;
const int inf = 0x3f3f3f3f3f;
const int maxn = 100000+5;
__int64 sum[maxn]={0};
int main()
{
int i, n;
__int64 x,ans = inf;
scanf("%d", &n);
for(i=1; i<=n; i++)
{
scanf("%I64d", &x);
sum[i] = sum[i-1] + x;
int k = abs(x);
if(k < ans) ans = k;
}
sort(sum+1, sum+n+1);
for(i=1; i<=n; i++)
{
x = abs(sum[i]-sum[i-1]);
if(x < ans ) ans = x;
}
printf("%I64d\n", ans);
return 0;
}