AC

你加钠了吗 · 发布于 2025-08-02 · 浏览 346 回复 0

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;

}

全部回复 共 0 条

还没有人回复。往下写第一条。

发表回复