#include <bits/stdc++.h>
using namespace std;
int n, a[10000050];
int dfs(int Index) {
if (Index == n)
return a[n];
return max(a[Index], a[Index] + dfs(Index + 1));
}
int main() {
cin >> n;
for (int i = 1; i <= n; i ++)
cin >> a[i];
cout << dfs(1);
return 0;
}
最大子区间/最大子端和用dfs写的问题在哪里?