USACO 2024 US Open Contest, Bronze

Problem 3. Farmer John's Favorite Permutation

Contest has ended.

Log in to allow submissions in analysis mode

Farmer John has a permutation $p$ of length $N$ ($2 \leq N \leq 10^5)$, containing each positive integer from $1$ to $N$ exactly once. However, Farmer Nhoj has broken into FJ's barn and disassembled $p$. To not be too cruel, FN has written some hints that will help FJ reconstruct $p$. While there is more than one element remaining in $p$, FN does the following:

Let the remaining elements of $p$ be $p'_1, p'_2, \dots , p'_n$,

  • If $p'_1 > p'_n$, he writes down $p'_2$ and removes $p'_1$ from the permutation.
  • Otherwise, he writes down $p'_{n-1}$ and removes $p'_n$ from the permutation.

At the end, Farmer Nhoj will have written down $N - 1$ integers $h_1, h_2, \dots, h_{N-1}$, in that order. Given $h$, Farmer John wants to enlist your help to reconstruct the lexicographically minimum $p$ consistent with Farmer Nhoj's hints, or determine that Farmer Nhoj must have made a mistake. Recall that if you are given two permutations $p$ and $p'$, $p$ is lexicographically smaller than $p'$ if $p_i < p'_i$ at the first position $i$ where the two differ.

INPUT FORMAT (input arrives from the terminal / stdin):

Each input consists of $T$ independent test cases ($1\le T\le 10$). Each test case is described as follows:

The first line contains $N$.

The second line contains $N - 1$ integers $h_1, h_2, \dots, h_{N-1}$ ($1\le h_i\le N$).

OUTPUT FORMAT (print output to the terminal / stdout):

Output $T$ lines, one for each test case.

If there is a permutation $p$ of $1\dots N$ consistent with $h$, output the lexicographically smallest such $p$. If no such $p$ exists, output $-1$.


1 1 1
2 1 1
3 2 1


1 2
3 1 2 4
1 2 3 4

For the fourth test case, if $p=[3,1,2,4]$ then FN will have written down $h=[2,1,1]$.

p' = [3,1,2,4]
p_1' < p_n' -> h_1 = 2
p' = [3,1,2]
p_1' > p_n' -> h_2 = 1
p' = [1,2]
p_1' < p_n' -> h_3 = 1
p' = [1]

Note that the permutation $p=[4,2,1,3]$ would also produce the same $h$, but $[3,1,2,4]$ is lexiocgraphically smaller.

For the second test case, there is no $p$ consistent with $h$; both $p=[1,2]$ and $p=[2,1]$ would produce $h=[1]$, not $h=[2]$.


  • Input 2: $N\le 8$
  • Inputs 3-6: $N\le 100$
  • Inputs 7-11: No additional constraints.

Problem credits: Chongtian Ma

Contest has ended. No further submissions allowed.