usaco.org/index.php?page=viewproblem2&cpid=…, cpids 855–866).
Round metadata
| Contest | USACO 2018 December |
|---|---|
| Window | Roughly Dec 14–17, 2018 (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, C++17, Java, Python 2.7, Python 3.6 (C++17 is the default for serious climbers) |
| Promotion cutoffs | Set per-contest by USACO; check the results page for exact thresholds. |
The contest at a glance
Bronze · 3 problems
1. Mixing Milk — simulate 100 cyclic pours among 3 buckets, each pour limited by source/destination capacity.
2. The Bucket List — minimum simultaneous buckets needed across cow milking intervals (sweep line over events).
3. Back and Forth — enumerate the 4-trip bucket choices between two barns; count distinct final tank values (DFS over states).
Silver · 3 problems
1. Convention — M buses of capacity C must pick up N cows; binary search on max wait time.
2. Convention II — seniority-ordered priority queue scheduling; simulate to find max wait.
3. Mooyo Mooyo — Puyo-style cascading: flood-fill, drop, repeat until stable.
Gold · 3 problems
1. Fine Dining — each of N-1 cows decides if a yumminess-discounted detour to a haybale still gets her home in shortest time (two Dijkstras).
2. Cowpatibility — count cow pairs sharing no ice-cream flavor; inclusion–exclusion on 5-flavor subsets.
3. Teamwork — partition a line of cows into groups of size ≤ K; each group's skills become its max; maximize sum (1-D DP).
Platinum · 3 problems
1. Balance Beam — optimal stopping on a random walk: expected payoff = upper concave envelope of f.
2. Sort It Out — count K-th lex-smallest minimal subset whose "yelling" sorts the array; LIS + digit-DP.
3. The Cow Gathering — given a tree and topological constraints, decide which nodes can be the unique last-remaining cow.
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.