#include <iostream>
#include <vector>
int findMax(const std::vector<int>& numbers, size_t index);
int main() {
std::vector<int> numbers = {3, 7, 1, 8, 4, 5, 9, 2, 6};
size_t size = numbers.size();
if (size == 0) {
std::cout << "The list is empty." << std::endl;
} else {
int max = findMax(numbers, 0);
std::cout << "The maximum element in the list is: " << max << std::endl;
}
return 0;
}
int findMax(const std::vector<int>& numbers, size_t index) {
if (index == numbers.size() - 1) {
return numbers[index];
}
int maxInRest = findMax(numbers, index + 1);
return (numbers[index] > maxInRest) ? numbers[index] : maxInRest;
}