Source: USAMO-2025-P6
Category: Existence and Construction

Problem:
Let $m$ and $n$ be positive integers with $m\ge n$. There are $m$ cupcakes of different flavors arranged around a circle and $n$ people who like cupcakes. Each person assigns a non‑negative real number score to each cupcake, depending on how much they like the cupcake. Suppose that for each person $P$, it is possible to partition the circle of $m$ cupcakes into $n$ groups of consecutive cupcakes so that the sum of $P$'s scores of the cupcakes in each group is at least $1$. Prove that it is possible to distribute the $m$ cupcakes to the $n$ people so that each person $P$ receives cupcakes of total score at least $1$ with respect to $P$.

Solution:
Arbitrarily pick any one person—call her Pip—and her $n$ arcs (the groups of consecutive cupcakes). The initial idea is to try to apply Hall's Marriage Lemma to match the $n$ people with Pip's arcs (such that each such person is happy with their matched arc, meaning they value it at $\ge 1$). To that end, construct the obvious bipartite graph $\mathfrak{G}$ between the $n$ people and the $n$ arcs for Pip, where an edge exists if a person values an arc at $\ge 1$.

We now consider the following algorithm, which takes several steps:

- If a perfect matching of $\mathfrak{G}$ exists, we are done! We simply distribute the cupcakes according to the matching.

- We are probably not that lucky. Per Hall's condition, the lack of a perfect matching means there is a bad set $\mathcal{B}_1$ of people, who are compatible with fewer than $|\mathcal{B}_1|$ of the arcs. Then delete $\mathcal{B}_1$ and the neighbors of $\mathcal{B}_1$ in the graph, and then try to find a matching on the remaining graph.

- If a matching exists now, terminate the algorithm. Otherwise, that means there is another bad set $\mathcal{B}_2$ for the remaining graph. We again delete $\mathcal{B}_2$ and its neighbors (which number fewer than $|\mathcal{B}_2|$).

- Repeat this process until some perfect matching $\mathcal{M}$ is possible in the remaining graph, i.e., there are no more bad sets (and then terminate once that occurs).

Since Pip is a universal vertex in $\mathfrak{G}$ (she values all of her own arcs at $\ge 1$), it is impossible to delete Pip as part of a bad set. Thus, the algorithm does indeed terminate with a nonempty matching $\mathcal{M}$.

We commit to assigning each person in $\mathcal{M}$ their matched arc (in particular, if there are no bad sets at all, the problem is already solved). Now we finish the problem by induction on $n$ (for the remaining people) by simply deleting the arcs used up by $\mathcal{M}$.

To see why this deletion-induction works, consider any particular person Quinn not in $\mathcal{M}$. By definition, Quinn is not happy with any of the arcs in $\mathcal{M}$. So when an arc $\mathcal{A}$ of $\mathcal{M}$ is deleted, it had value strictly less than $1$ for Quinn, so in particular it could not contain entirely any of Quinn's arcs. Hence at most one endpoint among Quinn's arcs was in the deleted arc $\mathcal{A}$. When this happens, this causes two arcs of Quinn to merge, and the merged value is
\[
(\ge 1) + (\ge 1) - (< 1) > 1
\]
meaning the induction is OK.


Grading guidelines:
(Partial) 1. Set up the bipartite graph between the n people and a fixed person’s n consecutive arcs (each arc has value ≥1 for that fixed person), with edges defined by “person values arc ≥1”, and correctly invoked Hall’s theorem as the intended tool. 2. Showed that if a perfect matching from people to these arcs exists then the required distribution follows immediately (give each person their matched arc). 3. Proved the key “deletion preserves feasibility” observation: for a remaining person Q, deleting an arc A with Q(A)<1 cannot completely cover one of Q’s own ≥1 arcs, so at most one endpoint of Q’s arcs lies in A, hence at most two of Q’s arcs merge, and the merged arc has value >1 for Q via (≥1)+(≥1)−(<1)>1. (Almost) 1. Carried out the Hall-based iterative deletion (find a deficient set B, delete B and its neighborhood, repeat) and obtained a nonempty matching, but did not fully justify why the process must terminate with a nonempty matching (e.g. the “fixed person is never deleted” argument is missing or flawed). 2. Completed the matching-plus-induction scheme, but left a local gap in the induction step when removing matched arcs (typically: did not rigorously argue that a deleted arc cannot contain an entire original Q-arc, or did not verify the merged-arc value remains ≥1 for every remaining person). 3. Solution is almost complete, but made minor mistakes which are not negligible.