#include
using namespace std;
int max_product(int array[], int n){
int max_so_far = INT_MIN, max_ending_here = 0;
int max_num= array[0];
for(int i = 0; i < n;i++){
max_ending_here += array[i];
max_num = max(max_num, array[i]);
max_so_far = max(max_so_far, max_ending_here);
max_ending_here = max(max_ending_here, 0);
}
return max_num * max_so_far;
}
int main(){
int arr[] = {5,6,-12,15,7,8}; //size is 6
cout<<"Maximum product of subarray sum with its maximum element is " << max_product(arr, 6);
return 0;
}
Comments
Post a Comment