#include <stdio.h> #include <stdlib.h> int MaxSubsequenceSum(const int array[], int n); int main() { int a[100]; int n,i,sum=0; scanf("%d",&n); for(i=0;i<n;i++) { scanf("%d",&a[i]); } sum=MaxSubsequenceSum(a,n); printf("%d",sum); } int MaxSubsequenceSum(const int array[], int n) { int tempSum, maxSum; maxSum = 0; for (int i = 0;i < n;i++) // 子序列起始位置 { for (int j = i;j < n;j++) // 子序列终止位置 { tempSum = 0; for (int k = i;k < j;k++) // 子序列遍历求和 tempSum += array[k]; if (tempSum > maxSum) // 更新最大和值 maxSum = tempSum; } } return maxSum; } |
Double click to view unformatted code.