#include <iostream>
#include <vector>
#include <numeric>
#include <cstdint>
int main() {
std::vector<int> numbers(5);
// Fill vector with sequential values
std::iota(numbers.begin(), numbers.end(), 10);
std::cout << "Iota result: ";
for (int num : numbers) {
std::cout << num << " ";
}
std::cout << std::endl;
// Compute midpoint
int a = 10, b = 20;
int mid = std::midpoint(a, b);
std::cout << "Midpoint of " << a << " and " << b << ": " << mid << std::endl;
// Midpoint for pointers
int arr[] = {1, 2, 3, 4, 5};
int* start = &arr[0];
int* end = &arr[4];
int* mid_ptr = std::midpoint(start, end);
std::cout << "Midpoint element: " << *mid_ptr << std::endl;
return 0;
}