#include <iostream>
using namespace std;
const int N = 1010;
int a[N] = {11, 9, 20, 56, 42, 3, 7, 15, 16};
int n = 9;
int maxValue, minValue;
void getMaxMin(int* a, int n, int& maxValue, int& minValue)
{
if (n == 1)
{
maxValue = a[0];
minValue = a[0];
return;
}
if (n == 2)
{
maxValue = max(a[0], a[1]);
minValue = min(a[0], a[1]);
return;
}
int mid = n / 2;
int maxValue1, minValue1, maxValue2, minValue2;
getMaxMin(a, mid, maxValue1, minValue1);
getMaxMin(a+mid, n-mid, maxValue2, minValue2);
maxValue = max(maxValue1, maxValue2);
minValue = min(minValue1, minValue2);
}
int main()
{
getMaxMin(a, n, maxValue, minValue);
cout << "最大值: " << maxValue << endl;
cout << "最小值: " << minValue << endl;
return 0;
}