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

The US Open is the last round of the 2020–21 USACO season, and unlike the Dec/Jan/Feb rounds it runs a full 5 hours per division. This page indexes all 12 problems (cpids 1131–1142): 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 2021 US Open results page on usaco.org: usaco.org/index.php?page=open21results. Each problem links to its official statement (statements live at usaco.org/index.php?page=viewproblem2&cpid=…, cpids 1131–1142).

Round metadata

ContestUSACO 2021 US Open (season finals)
WindowLate March / early April 2021, 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 2020–21 season. Combined performance across all four rounds decides invitations to summer training camp, where the four-person US IOI team is selected.
Promotion cutoffsSet per-contest by USACO; check the results page for exact thresholds.

The contest at a glance

Bronze

Bronze · 3 problems

1. Acowdemia I — maximize h-index with up to L extra single-citation bumps (sort + binary search / greedy).

2. Acowdemia II — infer pairwise seniority from author-order rules across K publications (transitive closure).

3. Acowdemia III — maximum number of cow pairs that can each consume an adjacent shared grass cell (bipartite-ish matching on a grid).

Open Bronze write-up →
Silver

Silver · 3 problems

1. Maze Tac Toe — BFS over (maze cell × 3×3 board state); count distinct winning boards.

2. Do You Know Your ABCs? — recover triples (A,B,C) consistent with given subset of {A,B,C,A+B,B+C,C+A,A+B+C}.

3. Acowdemia — Silver h-index version with K surveys and L cites each; binary search on the answer.

Open Silver write-up →
Gold

Gold · 3 problems

1. United Cows of Farmer John — count contiguous intervals whose two endpoints' breeds appear only at the endpoints (sweep + Fenwick).

2. Portals — minimum-cost portal-permutation choices to make a 4-regular line-graph Eulerian-connected (DSU on edges).

3. Permutation — count permutations of N points where every prefix triangulation step adds exactly 3 segments (bitmask DP, N ≤ 40 with a twist).

Open Gold write-up →
Platinum

Platinum · 3 problems

1. United Cows of Farmer John — Platinum: pick 3 leaders inside an interval so all three breeds are distinct and absent elsewhere (Fenwick + sweep).

2. Routing Schemes — count edge-disjoint sender→receiver routings using every edge once, with K ≤ 2 back-edges (matrix-tree variant + inclusion–exclusion).

3. Balanced Subsets — count 4-connected, row/column-convex subsets of grass cells (3D DP across rows, N ≤ 150).

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.