[proofplan]
We apply the pigeonhole principle to the $n$ partial sums $s_j = a_1 + a_2 + \cdots + a_j$ in $\mathbb{Z}_n$. If any partial sum is $0$, we have found our consecutive zero-sum. Otherwise, the $n$ partial sums take values in $\{1, 2, \ldots, n-1\}$ (a set of $n - 1$ elements), so by pigeonhole two must coincide, and their difference gives a consecutive block summing to $0$.
[/proofplan]
[step:Define the partial sums and reduce to the case where none vanishes]
Define the partial sums
\begin{align*}
s_j = a_1 + a_2 + \cdots + a_j \in \mathbb{Z}_n, \quad j = 1, 2, \ldots, n.
\end{align*}
If $s_j = 0$ for some $j \in \{1, \ldots, n\}$, then the consecutive block $a_1, a_2, \ldots, a_j$ sums to $0$ in $\mathbb{Z}_n$, and we are done (taking $k = 0$ and $k' = j$).
Otherwise, $s_j \in \{1, 2, \ldots, n-1\}$ for every $j \in \{1, \ldots, n\}$.
[guided]
We introduce the partial sums
\begin{align*}
s_j = a_1 + a_2 + \cdots + a_j \in \mathbb{Z}_n, \quad j = 1, 2, \ldots, n.
\end{align*}
Why partial sums? Because consecutive sums telescope: for any $1 \leq k < k' \leq n$, the block $a_{k+1} + \cdots + a_{k'} = s_{k'} - s_k$. This telescoping property converts a collision among partial sums into a zero-sum consecutive block, which is exactly the structure we need to exploit.
There are two cases. First, suppose $s_j = 0$ for some $j \in \{1, \ldots, n\}$. Then the initial block $a_1, a_2, \ldots, a_j$ already sums to $0$ in $\mathbb{Z}_n$ (this corresponds to $k = 0$, $k' = j$), and we are done.
Second, suppose $s_j \neq 0$ for every $j \in \{1, \ldots, n\}$. Then each $s_j$ takes a value in $\{1, 2, \ldots, n - 1\}$, a set with only $n - 1$ elements. We handle this case in the next step.
[/guided]
[/step]
[step:Apply the pigeonhole principle to force a collision among partial sums]
Since there are $n$ partial sums taking values in a set of $n - 1$ elements, the pigeonhole principle guarantees the existence of indices $1 \leq k < k' \leq n$ with $s_k = s_{k'}$.
[guided]
We now have $n$ partial sums $s_1, s_2, \ldots, s_n$, each lying in $\{1, 2, \ldots, n - 1\}$. This is a set with $n - 1$ elements. The pigeonhole principle states that if $n$ objects are placed into $n - 1$ boxes, at least two objects must share a box. Here the "objects" are the partial sums $s_1, \ldots, s_n$ and the "boxes" are the residue classes $\{1, 2, \ldots, n - 1\}$.
Since $n > n - 1$, the principle guarantees the existence of indices $1 \leq k < k' \leq n$ with $s_k = s_{k'}$.
Note that the case split in the previous step is essential: if we had not handled $s_j = 0$ separately, we would have $n$ partial sums in $\{0, 1, \ldots, n - 1\}$, a set of $n$ elements, and pigeonhole would give no conclusion. Excluding $0$ shrinks the codomain by one element, which is precisely what creates the collision.
[/guided]
[/step]
[step:Extract the zero-sum consecutive block from the collision]
From $s_k = s_{k'}$ with $k < k'$, we obtain
\begin{align*}
a_{k+1} + a_{k+2} + \cdots + a_{k'} = s_{k'} - s_k = 0 \in \mathbb{Z}_n.
\end{align*}
This gives a non-empty consecutive block (of length $k' - k \geq 1$) summing to $0$ in $\mathbb{Z}_n$, as required.
[guided]
We have indices $1 \leq k < k' \leq n$ with $s_k = s_{k'}$. By the telescoping property of partial sums:
\begin{align*}
a_{k+1} + a_{k+2} + \cdots + a_{k'} = s_{k'} - s_k = 0 \in \mathbb{Z}_n.
\end{align*}
The block $a_{k+1}, a_{k+2}, \ldots, a_{k'}$ has length $k' - k \geq 1$, so it is non-empty. This is the desired consecutive zero-sum subsequence.
This bound $m \geq n$ on the sequence length is also necessary: the constant sequence $a_i = 1$ for $i = 1, \ldots, n - 1$ has partial sums $s_j = j \bmod n$, which are all distinct in $\{1, 2, \ldots, n - 1\}$ when $j < n$. No consecutive sub-sum of fewer than $n$ terms can vanish, showing that $n$ terms are genuinely needed.
[/guided]
[/step]