int flipBits(int* arr, int n) { int count = 0; for(int i = 0; i<n; i++){ if(arr[i] == 1){ count++; } } int sum = 0; int max = 0; for(int i = 0; i<n; i++){ if(arr[i] == 0){ sum++; }else{ sum--; } if(sum < 0){ sum = 0; } if(sum > max){ max = sum; } } return count + max; }