参考代码:
#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 人评分