USACO 2020 US Open — the season finals, all four divisions.

The US Open is the last round of the 2019–20 USACO season and runs a full 5 hours per division, twice as much breathing room as the Dec/Jan/Feb 4-hour rounds. This page indexes all 12 problems (cpids 1035–1046): Bronze through Platinum, each with the official statement link, a paraphrased statement, constraints, key idea, complexity target, and a runnable C++ reference on the per-division pages.

Bronze (all 3) → Silver (all 3) → Gold (all 3) → Platinum (all 3) →
Authoritative source. All problem titles, constraints, and results below come from the official 2020 US Open results page on usaco.org: usaco.org/index.php?page=open20results. Each problem links to its official statement (statements live at usaco.org/index.php?page=viewproblem2&cpid=…, cpids 1035–1046).

Round metadata

ContestUSACO 2020 US Open (season finals)
WindowLate March / early April 2020, 4-day window with a single 5-hour personal timer
Length per division5 hours (US Open is the long round; Dec/Jan/Feb are 4 hours)
Problems per division3
Total problems12 (Bronze 1–3, Silver 1–3, Gold 1–3, Platinum 1–3)
ScoringIOI-style partial credit, 1000 points per problem, 3000 max per division
Allowed languagesC, C++11, C++17, Java, Python 2.7, Python 3.6 (C++17 is the default at Gold/Platinum)
Finals significanceFinal round of the 2019–20 season. Combined performance across all four rounds decides invitations to summer training camp, where the four-person US IOI team is selected.
ThemeCOVID-era contest — Bronze and Silver problem 1s are all "Social Distancing" variants, and Bronze 3 is "Cowntact Tracing."
Promotion cutoffsSet per-contest by USACO; check the results page for exact thresholds.

The contest at a glance

Bronze

Bronze · 3 problems

1. Social Distancing I — place K cows in disjoint stall intervals to maximize the minimum pairwise distance (binary search on D).

2. Social Distancing II — given positions and infection states on a line, find the smallest infection radius R consistent with the data.

3. Cowntact Tracing — simulate timed pairwise handshakes and bound the count of possible patient zeros and infection chains (brute force over candidates).

Open Bronze write-up →
Silver

Silver · 3 problems

1. Social Distancing — Silver version: K cows into M disjoint intervals on the line maximizing min distance (binary search + greedy placement).

2. Cereal — each cow has a 1st and 2nd cereal choice; for each k count cows served when only cows k..N−1 line up (Union-Find / chain compression).

3. The Moo Particle — particles with (x, y) spins; pairs annihilate iff xi ≤ xj ∧ yi ≤ yj. Minimum remaining = sort + count y-descents.

Open Silver write-up →
Gold

Gold · 3 problems

1. Haircut — for every length j compute the number of inversions in the array after capping every value at j (Fenwick on values).

2. Favorite Colors — repeatedly merge nodes that share an in-neighbor until stable; output the canonical color labels (Union-Find + worklist).

3. Exercise — sum over all permutations of N of the LCM of cycle lengths, modulo M (DP over partitions of N by prime powers).

Open Gold write-up →
Platinum

Platinum · 3 problems

1. Sprinklers 2: Return of the Alfalfa — count ways to split an N×N grid into a "left/down sprinkler" region and a "right/up sprinkler" region around an alfalfa rectangle (row-DP with prefix sums).

2. Exercise — Platinum: same LCM-sum but over N ≤ 104, modulo M (prime-power knapsack DP).

3. Circus — count distinct rooted "stretchings" of a tree where K cows ride on K vertices and inner cows can slide along edges (tree DP).

Open Platinum write-up →

How to use this set

  1. Pick your division. Open the full division page and read all three statements before writing any code — 5 hours rewards a calm reading sweep first.
  2. Order the attack. US Open P1 is usually the cheapest problem; P3 is almost always the hardest. Solve in order unless P2 obviously matches a pattern you already know.
  3. Time-box. 5 hours total. Don't sink more than ~2 hours into a single problem without at least the easiest subtask submission banked.
  4. Compare to the reference C++. Each problem has a ~30–50 line reference (Platinum can go 60–80). If yours is much longer, ask why.
  5. Verify with the editorial. Official editorials are linked from each problem page on usaco.org.