1 #include <iostream>
2 #include <algorithm>
3
4 using namespace std;
5 const int maxn = 50000 + 5;
6 struct node{
7 long long x;
8 int id;
9 }a[maxn];
10
11 bool cmp(node xx, node yy){
12 if (xx.x == yy.x)
13 return xx.id < yy.id;
14 else return xx.x < yy.x;
15 }
16
17 int main(){
18 ios::sync_with_stdio(false);
19 int n;
20 cin >> n;
21 int xx;
22 a[0].id = 0;
23 a[0].x = 0;
24 for (int i = 1; i <= n; i++){
25 cin >> xx;
26 a[i].x = a[i - 1].x + xx;
27 a[i].id = i;
28 }
29 sort(a, a + n + 1, cmp);
30 long long ans;
31 bool flag = true;
32 for (int i = 1; i <= n; i++){
33 if (a[i].x - a[i - 1].x > 0 && a[i].id - a[i - 1].id > 0){
34 if (flag){
35 ans = a[i].x - a[i - 1].x;
36 flag = false;
37 }
38 else{
39 ans = min(ans, a[i].x - a[i - 1].x);
40 }
41 }
42 }
43 cout << ans << endl;
44 system("pause");
45 return 0;
46 }