here is recursive code for finding maximum subvector sum
#include <iostream>
using namespace std;
int Max(int a,int b,int c){
return max(a,std::max(b,c));
}
int a[]={31,-41,59,26,-53,58,97,-93,-23,84};
int n=sizeof(a)/sizeof(int);
int maximum3(int l,int u){
if (l>u) return 0;
if (l==u) return std::max(0,a[l]);
int m=(l+u)/2;
int lmax=0;
int sum=0;
int rmax=0;
int sum1=0;
for (int i=m;i>=l;i--){
sum+=a[i];
lmax=std::max(lmax,sum);
}
for (int j=m+1;j<u;j++){
sum1+=a[j];
rmax=std::max(rmax,sum);
}
return Max(lmax+rmax,maximum3(l,m),maximum3(m+1,u));
}
int main(){
cout<<maximum3(0,n-1)<<" ";
return 0;
}
it rerurns 155 while other non recursive method returns 187 please help