求助 #1WA
查看原帖
求助 #1WA
339440
CarryQwQ楼主2022/7/23 13:41

这是原代码:

#include<bits/stdc++.h>
using namespace std;
const int MAXN = 2e5 + 10;
int n, a[MAXN], s[MAXN], minn = INT_MAX, mx[MAXN], ans = INT_MIN;
int main() {
	cin >> n;
	for (int i = 1; i <= n; i++) {
		cin >> a[i];
		s[i] = s[i - 1] + a[i];
	}
	mx[1] = s[1];
	minn = min(minn, s[1]);
	for (int i = 2; i <= n; i++) {
		mx[i] = s[i] - minn;
		minn = min(minn, s[i]);
	}
	for (int i = 1; i <= n; i++)
		ans = max(ans, mx[i]);
	cout << ans;
}

错 #1 这个点,将 minn 初值改为 0 就过了,为什么?

2022/7/23 13:41
加载中...