USACO 2022 January — full contest set

Four divisions, three problems each, twelve problems total. A 4-hour window in late January 2022. This page is the index; each division has its own write-up linked below.

4 hcontest length (all divisions)
12problems · Bronze → Platinum
Jan 28–31, 2022contest window
3000 ptsper division max (1000 / problem)

← All past problems

Canonical source. Official results, problem PDFs, test data, and editorials all live at usaco.org/index.php?page=jan22results. Anything paraphrased on these pages should be cross-checked against that page before relying on it for a contest run.

The twelve problems

Each card below summarises one division and links to my full write-up for that division. Problem titles are taken from the official results page; paraphrases are my own.

Bronze

Bronze division

1. Herdle — Wordle-style scoring on a 3×3 cow-breed grid: count greens (exact match) and yellows (right breed, wrong square).

2. Non-Transitive Dice — given two 4-sided dice A and B with faces in 1..10, decide whether a third die C exists making A>B>C>A.

3. Drought — minimum bags of corn to equalise cow hunger using "feed two adjacent cows one bag" operations; report −1 if impossible.

Open Bronze write-up →
Silver

Silver division

1. Searching for Soulmates — minimum ops to transform x into y using {×2, ÷2 if even, +1}; values up to 1018.

2. Cow Frisbee — sum (j−i+1) over all pairs i<j where every cow between them is strictly shorter than min(hi, hj).

3. Cereal 2 — each cow has a favourite and backup cereal; permute cows to minimise the number who go hungry.

Open Silver write-up →
Gold

Gold division

1. Drought — Bronze's puzzle dialled up: count N-tuples (0 ≤ hi ≤ Hi) that admit a valid equalisation, mod 109+7.

2. Farm Updates — offline timeline of add/remove edges and farm deactivations; for each farm, latest op at which it is still "relevant".

3. Tests for Haybales — given the ji array (farthest index with xj ≤ xi+K), reconstruct any valid sorted array and K.

Open Gold write-up →
Platinum

Platinum division

1. Minimizing Haybales — lexicographically minimum sequence reachable by swapping adjacent stacks whose heights differ by ≤ K.

2. Counting Haybales — count distinct terminal configurations under "move top haybale to an adjacent stack iff heights differ by exactly 1", mod 109+7.

3. Multiple Choice Test — pick one 2-D vector from each of N groups to maximise the squared distance of the sum from the origin.

Open Platinum write-up →

How I'm reading this contest