Loading

实例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;
}
posted @ 2020-07-04 21:04  啊哈小张同学  阅读(181)  评论(0)    收藏  举报