实例1.1 最大子列和问题 (20分)


#include <iostream>
using namespace std;
const int N = 1e6 + 10;
int n;
int q[N];
int res;
int qiuhe(int q[], int n)
{
for (int i = 0; i < n; i ++ )
{
int cur_sum = 0;
for (int j = i; j < n; j ++ )
{
cur_sum += q[j];
if(cur_sum > res) res = cur_sum;
else if(cur_sum < 0) break;
// cout << cur_sum << endl;
}
}
return res;
}
int main()
{
cin >> n;
for (int i = 0; i < n; i ++ ) cin >> q[i];
cout << qiuhe(q, n);
return 0;
}

浙公网安备 33010602011771号