各位大佬帮帮忙,80分,第二个点过不了
查看原帖
各位大佬帮帮忙,80分,第二个点过不了
609811
accccccc楼主2022/5/21 11:44
#include <iostream>
#include <algorithm>
#include <string>
#include <cstring>
#include <cmath>
#include <vector>
#include <set>
#include <map>
using namespace std;
#define ll long long
#define INF  0x7FFFFFFF
const int N = 2*1e5+10;
const int M = N*4;
ll a[N];
ll memo[N];
int main() {
//    ios::sync_with_stdio(false); cin.tie(0);
	int n;
	cin >> n;
	for(int i = 1; i <= n; ++i)
		cin >> a[i];
	//memo[i]表示以i结尾的最大子段和
	memo[1] = a[1];
	//2~n
	for(int i = 2; i <= n; ++i) {
		memo[i] = max(memo[i], memo[i-1] + a[i]);
	}
	ll res = memo[1];
	for(int i = 2; i <= n; ++i) {
		res = max(memo[i], res);
	}
	cout << res;
	return 0;
}
2022/5/21 11:44
加载中...