题解 | #连续子数组最大和#
连续子数组最大和
https://www.nowcoder.com/practice/1718131e719746e9a56fb29c40cc8f95
#include <bits/stdc++.h> using namespace std; const int N = 2e7 + 10; int main() { int n; cin >> n; vector<int>arr(n); for(int i = 0; i < n; i++) { cin >> arr[i]; } vector<int>dp(n, -N); dp[0] = arr[0]; for(int i = 1; i < n; i++) { dp[i] = max(dp[i-1] + arr[i], arr[i]); } int m; m = *max_element(dp.begin(), dp.end()); cout << m; } // 64 位输出请用 printf("%lld")