#include <iostream>
using namespace std;
int main() {
int max = 0, ans, i, n;
cin >> n;
ans = -100000;
while (n--) {
cin >> i;
max += i;
if (max > ans) {
ans = max;
}
if (max < 0) {
max = 0;
}
}
cout << ans << endl;
}
这个是我ac了的代码,难道不应该说是每一段都是负的我取个空的最大嘛hhhh
但是题目要求非空只好被迫先给ans赋一个小值