社区讨论

迭代写法,WA了第二个点,请大佬解惑。

P1115最大子段和参与者 4已保存回复 3

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
3 条
当前快照
1 份
快照标识符
@lo2st7cc
此快照首次捕获于
2023/10/23 19:12
2 年前
此快照最后确认于
2023/10/23 19:12
2 年前
查看原帖
CPP
#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;
}

回复

3 条回复,欢迎继续交流。

正在加载回复...