题解 | #连续最大和#
连续最大和
https://www.nowcoder.com/practice/5a304c109a544aef9b583dce23f5f5db
#include <iostream>
#include <vector>
using namespace std;
int main() {
int a;
while (cin >> a) { // 注意 while 处理多个 case
int b;
vector<int> dp;
int res;
for(int i = 0;i < a;i++) {
cin >> b;
if(i == 0) {
res = b;
dp.push_back(b);
} else {
if(dp[i-1] > 0) {
dp.push_back(dp[i-1] + b);
} else {
dp.push_back(b);
}
res = max(res, dp[i]);
}
}
cout << res;
}
}
// 64 位输出请用 printf("%lld")
要输出不是要返回值,卡了半天


