题解 | #连续最大和#
连续最大和
https://www.nowcoder.com/practice/5a304c109a544aef9b583dce23f5f5db
#include<iostream>
using namespace std;
const int N = 100010;
int n,a[N];
int main()
{
cin >> n;
for(int i = 0; i < n; i++)
{
cin >> a[i];
}
int sum = a[0];
int maxs = a[0];
for(int i = 1; i < n; i++)
{
sum = max(a[i],sum+a[i]);
maxs = max(maxs,sum);
}
cout << maxs << endl;
return 0;
}
using namespace std;
const int N = 100010;
int n,a[N];
int main()
{
cin >> n;
for(int i = 0; i < n; i++)
{
cin >> a[i];
}
int sum = a[0];
int maxs = a[0];
for(int i = 1; i < n; i++)
{
sum = max(a[i],sum+a[i]);
maxs = max(maxs,sum);
}
cout << maxs << endl;
return 0;
}