最大子数组和
(100/100 分数)
题目描述
给定一个数组a[0,...,n-1],求其最大子数组(长度>=1)和
输入描述第一行一个整数n(1<=n<=5000),然后依次输入n个整数(每个整数范围[-5000, 5000])
输出描述输出一个整数表示最大子数组和
样例输入5 1 -1 1 1 -1样例输出
2
/*students please write your program here*/
#include <iostream>
using namespace std;
int main() {
int n;
cin >> n;
int sum = 0;
int currentSum = 0;
int temp;
for (int i = 1; i <= n; i++) {
cin >> temp;
currentSum += temp;
if (currentSum > sum)
sum = currentSum;
if (currentSum < 0)
currentSum = 0;
}
cout << sum << endl;
}