class Solution {
public:
int maxSubArray(int A[], int n) {
int *dp=new int[n];
dp[0]=A[0];
int sum=A[0];
for(int i=1;i<n;i++)
{
dp[i]=dp[i-1]>0?dp[i-1]+A[i]:A[i];
sum=max(dp[i],sum);
}
return sum;
}
};
public:
int maxSubArray(int A[], int n) {
int *dp=new int[n];
dp[0]=A[0];
int sum=A[0];
for(int i=1;i<n;i++)
{
dp[i]=dp[i-1]>0?dp[i-1]+A[i]:A[i];
sum=max(dp[i],sum);
}
return sum;
}
};