Task
Build `train_test_split_indices(n, test_pct, seed)` β the foundation of every train/test workflow:
- `n` total indices (0 to n-1).
- `test_pct` β `[0, 1]` β fraction in the test set.
- `seed` β deterministic shuffling.
- Return tuple `(train_indices, test_indices)` (sorted ascending in each).
- Test size = `int(n * test_pct)` (floor; e.g. 100*0.2 = 20).
- Edge: `n == 0` β `([], [])`; `test_pct == 0` β all train; `test_pct == 1` β all test.
Deterministic seed makes tests reproducible β the #1 contract every interviewer asks about.