AC

你加钠了吗  •  11天前


include <bits/stdc++.h>

using namespace std;

define int long long

int a[1000001];

struct in {

int l, r, sum;

}; int ans = 0;

in get(int l, int r) {

if (l == r) {
	ans = max(ans, a[l]);
	return {a[l], a[l], a[l]};
}
int mid = (l + r) / 2;
in i = get(l, mid);
in j = get(mid + 1, r);
ans = max(ans, i.r + j.l);
ans = max(ans, i.sum + j.l);
ans = max(ans, i.r + j.sum);
return{
	max(i.l, i.sum + j.l),
	max(j.r, j.sum + i.r),
	i.sum + j.sum
};

}

signed main() {

int n;
cin >> n;
for (int i = 1; i <= n; i++) {
	cin >> a[i];
}
get(1, n);
cout << ans;

}


评论:

请先登录,才能进行评论