Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- int maxSumRec(int a[],int l,int r) {
- int c,maxlsum,maxrsum,lbsum,maxlbsum,i,rbsum,maxrbsum,d;
- if (l == r)
- if (a[l] > 0)
- return a[l];
- else return 0;
- c = (l + r) / 2;
- maxlsum = maxSumRec(a,0,c);
- maxrsum = maxSumRec(a,c+1,r);
- lbsum=0, maxlbsum=0;
- for (i=c; i>=l; i--) {
- lbsum += a[i];
- if (lbsum > maxlbsum)
- maxlbsum = lbsum;
- }
- rbsum=0, maxrbsum=0;
- for (i=c+1; i<=r; i++) {
- rbsum += a[i];
- if (rbsum > maxrbsum) maxrbsum = rbsum;
- }
- d=(maxlsum, maxrsum, maxlbsum + maxrbsum);
- return d;
- }
- int max3(int a,int b,int c)
- {
- return a > b ? (a > c ? a : c ): (b > c ? b : c);
- }
- void main() {
- int a[100],c,n;
- printf("ENTER no of elements");
- scanf("%d",&n);
- printf("ENTER ELEMENTS");
- for(int i=0;i<n;i++)
- scanf("%d",&a[i]);
- c=maxSumRec(a,0,n-1);
- printf("%d",c);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement