#include <iostream>
using namespace std;
int max(int *array, int dimension) {
int left, right, k;
if (dimension == 1) {
return *array;
}
left = max(array, k = dimension >> 1);
right = max(array + k, dimension - k);
return left > right ? left : right;
}
int main() {
int n;
printf("Enter the dimension of the array: ");
cin >> n;
int array[n];
for (int i = 0; i < n; i++) {
printf("Enter the value of element %d of the array: ", i);
cin >> array[i];
}
printf("The maximum value of the array = %d", max(array, n));
return 0;
}