1 #include <stdio.h>
2 #include <stdlib.h>
3
4 int a[6] = {2,-1,-4,5,-3,7};
5 int b[6] = {-2,-1,-4,-5,-3,-7};
6
7 int get_max_sum(int x[],int s)
8 {
9 if(s<=0)
10 exit(-1);
11
12 int max = x[0];
13 int sum = 0;
14
15 int i=0;
16 for(i=0;i < s;i++)
17 {
18 if(sum<0)
19 sum = x[i];
20 else
21 sum = sum+x[i];
22 if(sum>max)
23 max=sum;
24 }
25 return max;
26 }
27
28 int main()
29 {
30 printf("the max sum a is %d\n",get_max_sum(a,6));
31 printf("the max sum b is %d\n",get_max_sum(b,6));
32 return 0;
33 }
1 #!/usr/bin/python
2 #^_^*--coding:utf8
3
4 def get_max_sum(a):
5 imax = a[0]
6 isum = 0
7
8 for i in a:
9 if isum < 0:
10 isum = i
11 else:
12 isum = isum+i
13
14 if isum > imax:
15 imax = isum
16
17 return isum
18
19 t = [2,-1,4,-3,5,0]
20
21 print get_max_sum(t)