Non pi[t] ma pi[i] ... devi scrivere nell'else

pi=(int*)realloc(pi, (i+1) * sizeof(int));

pi[i]=x;

... le due for ...