1003-Max Sum

来源:互联网 发布:c语言冒泡排序简单代码 编辑:程序博客网 时间:2024/06/04 19:14

(http://acm.split.hdu.edu.cn/showproblem.php?pid=1003)

#include <stdio.h>  #define maxn 100000 + 2  int arr[maxn];  int main(){      int t,n,maxLeft,maxRight,maxSum,id=1;      int thisSum;      scanf("%d",&t);      while(t--){          scanf("%d",&n);          for(int i=0;i<n;++i)              scanf("%d",&arr[i]);          maxSum=arr[0];          maxLeft=maxRight=0;          /*maxSubsequenceSum------O(N^3)*/          for(int i=0;i<n;++i)        {              for(int j=i;j<n;++j)            {                  thisSum=0;                  for(int k=i;k<=j;++k)                     thisSum+=arr[k];                  if(thisSum>maxSum)                {                      maxSum=thisSum;                      maxLeft=i;maxRight=j;                  }              }          }          printf("Case %d:\n%d %d %d\n",id++,maxSum,maxLeft+1,maxRight+1);          if(t) printf("\n");      }      return 0;  }  
0 0
原创粉丝点击