#include <stdio.h>
#include <stdlib.h>

void reverse(const int* const restrict v1, int* restrict v2, int size)
{
    for (int i = 0; i < size; i++) {
        v2[size-i-1] = v1[i];
    }
}

int main (int argc, char *argv[])
{
    int size, *v1, *v2;
    size = 1000000;
    v1 = malloc(sizeof(int) * size);
    v2 = malloc(sizeof(int) * size);
    for (int i = 0; i < size; i++) {
        v1[i] = i;
    }
    reverse(v1, v2, size);
    printf("%d", v2[0]);
    return 0;
}