classSolution{public:intmaxSubArray(intA[],intn){// Note: The Solution object is instantiated only once and is reused by each test case.
intsum=0;if(n==1){returnA[0];}int*value=newint[n];if(A[0]<=0)value[0]=0;else{value[0]=A[0];if(value[0]>sum)sum=value[0];}for(inti=1;i<n;i++){if(A[i]+value[i-1]>0){value[i]=A[i]+value[i-1];if(value[i]>sum)sum=value[i];}else{value[i]=0;}}if(sum==0){sum=-999999999;for(inti=0;i<n;i++){if(A[i]>sum)sum=A[i];}}returnsum;}};