#include using namespace std;

int main() { int K; cin >> K; int nums[K]; for (int i = 0; i < K; i++) { cin >> nums[i]; }

int maxSum = 0; // 最大子列和
int thisSum = 0; // 当前子列和

for (int i = 0; i < K; i++) {
    thisSum += nums[i]; // 将当前数字加入当前子列和
    
    if (thisSum > maxSum) { // 如果当前子列和大于最大子列和,则更新最大子列和
        maxSum = thisSum;
    }
    
    if (thisSum < 0) { // 如果当前子列和为负数,则将当前子列和置为0
        thisSum = 0;
    }
}

cout << maxSum << endl;

return 0;

}


原文地址: https://www.cveoy.top/t/topic/pzt2 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录