usaco.org/index.php?page=viewproblem2&cpid=…, cpids 663–674).
Round metadata
| Contest | USACO 2016 December |
|---|---|
| Window | Dec 16–19, 2016 (4-day window, single 4-hour personal timer) |
| Length per division | 4 hours (Dec/Jan/Feb format; US Open is the 5-hour round) |
| Problems per division | 3 |
| Total problems | 12 (Bronze 1–3, Silver 1–3, Gold 1–3, Platinum 1–3) |
| Scoring | IOI-style partial credit, 1000 points per problem, 3000 max per division |
| Allowed languages | C, C++11, Java, Python 2.7, Python 3 (C++11 was the default at the time) |
| Promotion cutoffs | Set per-contest by USACO; check the results page for exact thresholds. |
The contest at a glance
Bronze · 3 problems
1. Square Pasture — find the smallest axis-aligned square containing two given non-overlapping rectangles.
2. Block Game — minimum number of letter blocks across N two-sided spelling boards (per-letter max).
3. The Cow-Signal — scale an M×N character grid by K in both dimensions.
Silver · 3 problems
1. Counting Haybales — Q interval-count queries over N sorted positions (binary search).
2. Cities and States — count special city pairs whose first-two-letters / state-code interlock (hash counting).
3. Moocast — directional walkie-talkie reachability; for each source, max cows reachable (BFS, N ≤ 200).
Gold · 3 problems
1. Moocast — minimum squared transmission radius that keeps every cow connected (MST / binary-search-on-edge).
2. Cow Checklist — interleave two ordered cow lists from H1 to HH, minimizing sum of squared step distances (DP).
3. Lasers and Mirrors — minimum 90° mirror placements to route the beam from source to barn (BFS on rows/cols).
Platinum · 3 problems
1. Lots of Triangles — for each v, count triangles formed by N ≤ 300 trees containing exactly v interior trees.
2. Team Building — count pairs of size-K subsets where FJ's i-th ranked cow beats FP's i-th, mod 109+9 (2D DP).
3. Robotic Cow Herd — sum of K smallest distinct configurations across N locations (heap on differences).
How to use this set
- Pick your division. Open the full division page and read the three statements before writing any code.
- Solve P1 first, P2 if time, P3 only if you're cruising. December problem 1s are usually the cheapest points.
- Time-box. 4 hours total. Don't spend more than ~90 minutes on a single problem without a working subtask submission.
- Compare to the reference C++. Each problem on the division page has a ~30–50 line reference solution. If yours is much longer, ask why.
- Verify with the editorial. Official editorials are linked from each problem page on usaco.org.