01-复杂度1 最大子列和问题
#include <cstdio> const int MAXN = 1e5 + 2; int MaxSubseqSum(int a[], int n) { int ThisSum = 0, MaxSum = 0; for (int i=0; i<n; i++) { ThisSum += a[i]; if (ThisSum > MaxSum) { MaxSum = ThisSum; } else if (ThisSum < 0) { ThisSum = 0; } } return MaxSum; } int main() { int k, a[MAXN]; scanf("%d", &k); for (int i=0; i<k; i++) { scanf("%d", &a[i]); } int MaxSum = MaxSubseqSum(a, k); printf("%d\n", MaxSum); return 0; }