题目描述
输入:一串数组
输出:最大子列和
代码
#include<cstdio>#include<vector>#include<algorithm>using namespace std;const int maxn = 1000;vector<int> fn(maxn), dp(maxn);int main(){int n, temp;scanf("%d", &n);for(int i = 0; i < n; i++){scanf("%d", &fn[i]);}dp[0] = fn[0];for(int i = 1; i < n; i++){dp[i] = max(fn[i], dp[i - 1] + fn[i]);}int max = 0;for(int i = 0; i < n; i++){if(dp[i] > dp[max])max = i;}printf("%d", dp[max]);return 0;}
