int **split_array(const int *s, int length) {
    if (length % 2 == 1) {
        int *even = malloc(sizeof(int) * (length / 2 + 1));
    } else {
        int *even = malloc(sizeof(int) * (length / 2));
    }
    int *odd = malloc(sizeof(int) * (length / 2));
    int i, j;
    j = 0;
    for (i = 0; i < length; i += 2) {
        even[j] = s[i];
        j++;
    }
    j = 0;
    for (i = 1; i < length; i += 2) {
        odd[j] = s[i];
        j++;
    }
    int arr[2] = {even, odd};
    int *ptr = arr;
    return ptr;
}
Return a pointer to an array of two dynamically allocated arrays of ints.
   The first array contains the elements of the input array s that are
   at even indices.  The second array contains the elements of the input
   array s that are at odd indices.

   Do not allocate any more memory than necessary. You are not permitted
   to include math.h.  You can do the math with modulo arithmetic and integer
   division.