前缀和就行
2025-11-01 15:04:44
发布于:广东
10阅读
0回复
0点赞
要使字段和(也就是区间和)最大,要么右端点大,要么左端点小
#include<iostream>
using namespace std;
const int N = 2e5 + 5;
int pre[N], n, mn = 0, ans = -N;
int main() {
cin >> n;
for( int i = 1; i <= n; i++ ) {
cin >> pre[i];
pre[i] += pre[i - 1];
ans = max( ans, pre[i] - mn );
mn = min( mn, pre[i] );
}
cout << ans << '\n';
}
这里空空如也



有帮助,赞一个