迭代写法,WA了第二个点,请大佬解惑。
查看原帖
迭代写法,WA了第二个点,请大佬解惑。
853953
ljx_gkx楼主2023/4/7 11:47
#include <iostream>
#include <cstring>
#include <algorithm>

using namespace std;
const int N = 2e5 + 10;
typedef long long LL;

int a[N];
int n;

int main()
{
    cin >> n;
    for (int i=1; i <= n; i ++)
        cin >> a[i];

    LL sum=0;
    LL res=0;
    for (int l=1, r=1; r <= n; r ++)
    {
        sum = sum + a[r];   //固定左端点,移动右指针,每次往区间内增加一个元素,和值就会发生变化!
        if (sum < 0) sum = a[r];
        //不断更新最大值?
        if (sum > res)
        {
            res = sum;
        }
    }
    cout << res << endl;
    return 0;
}
2023/4/7 11:47
加载中...