参考代码:

#include<iostream>
using namespace std;

int Max(int a, int b) {
	return a > b ? a : b;
}
int main()
{
	int n, max = 0;
	cin >> n;
	int *num = new int[n];
	for (int i = 0;i < n;i++)
		cin >> num[i];
	int *dp = new int[n];
	dp[0] = num[0];
	//dp[i]表示数组以第i个元素结尾的最大和
	max = dp[0];
	for (int i = 1;i < n;i++) {
		dp[i] = Max(dp[i - 1] + num[i], num[i]);
		max = Max(dp[i], max);
	}
	cout << max;
}


 

0.0分

0 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换

万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区