NEWS.DISPATCHUSACO GUIDE / FIELD NOTE

How USACO Scoring Actually Works: Test Groups, Partial Credit, and Why a Half-Solution Still Scores

FILECONTEST INTEL
STATUSPUBLISHED
FOCUSUSACO / PREPARATION
MODEEXPLAINER
READING.MODEFULL BRIEFINGScroll to explore

A USACO contest is 1,000 points across roughly three problems, so each problem carries about 333 to 334 points. Every problem is graded on at least ten separate test groups, and you bank roughly 333 divided by the number of groups for each group your program passes. Nothing is all-or-nothing. A slow but correct program that only survives the small cases still scores — and that single fact should reshape your entire contest plan.

The arithmetic almost nobody works out before their first contest

Most students arrive at USACO from one of two places: a school exam culture where a question is right or wrong, or a practice judge where a submission shows a green tick or a red cross. Both train the same instinct — that a solution either works or it does not. USACO does not grade that way, and students who carry that instinct in leave points on the table in every contest they enter.

Here is the structure, and it is worth writing on the inside cover of your notebook. Format details are set by USACO and can change, so confirm the current specifics on usaco.org and in the contest instructions you are shown on the day.

Layer What it is worth What that means in practice
One contest 1,000 points total Your division cutoff is measured against this total, not against a count of problems solved
One problem About 333–334 points Three problems of near-equal weight. No problem is a bonus you can safely ignore
One test group Roughly 333 ÷ number of groups With at least ten groups per problem, one group is worth around 33 points — more groups means each is worth less
Passing a group You keep those points Failing later groups does not remove points you have already earned

Notice what falls out of the last two rows. Roughly 33 points is not a rounding error. Three test groups on a problem you never fully solved is about 100 points — a tenth of the entire contest — earned by a program you might have dismissed as not being a real solution.

Diagram showing a USACO contest of 1,000 points splitting into about three problems worth 333 points each, with one problem splitting further into at least ten test groups worth about 33 points each
How 1,000 points decompose. Because a problem is graded group by group, an incomplete solution is still a scoring solution.

The brute-force floor: your first job on every problem

Read the constraints on almost any USACO problem and you will find the test data spans a wide range of input sizes. The small end of that range exists precisely so that a straightforward, obviously-correct program earns something. Our reading of past problems is that the ramp is deliberate, though USACO does not publish its test-design policy.

So the correct opening move on a problem you cannot immediately crack is not to stare at it until inspiration arrives. It is to write the dumbest correct thing you can think of — check every pair, simulate every step, try every combination — and get it working. That program establishes your floor on the problem. Everything after it is upside.

This is not the same advice as make your solution fast enough, which is a separate discipline. The point here runs the other way: the slow solution has independent value of its own. Two habits follow.

  • Submit the brute force before you optimise it. USACO grades only the last submission on each problem, so submit the working version as soon as you have it and make sure the last thing you submit is still the best version you have. Students who refactor first and submit last routinely finish a contest with a half-rewritten program and nothing at all on a problem they had partly solved an hour earlier.
  • Keep the brute force in the file. Comment it out, or keep it as a second function. It is your correctness reference while you write the fast version, and it is your fallback if the fast version starts failing in ways you cannot diagnose with twenty minutes left.

One caveat decides whether the whole strategy works: your slow solution must be correct, not merely slow. A program that is both wrong and slow scores nothing at either end of the range. Correct-and-slow scores. Fast-and-wrong does not.

Two contestants, three problems, very different totals

The strategic consequence is easiest to see with an example. Consider two students in the same division, comparable in ability, both using a full self-chosen four-to-five-hour block.

Contestant A — perfectionist Contestant B — floor-first
Hours 1–2 Solves problem 1 fully, then polishes it Reads all three, writes a brute force for problem 1, submits
Hours 2–3 Attacks problem 2, finds the idea late Optimises problem 1 to full and submits; brute force on problem 2, submits
Hours 3–5 Runs out of time coding problem 2; never opens problem 3 seriously Improves problem 2 partway; writes a small-case solution for problem 3
Problem 1 Full marks — about 333 Full marks — about 333
Problem 2 Nothing submitted — 0 Seven groups of ten — roughly 231
Problem 3 Nothing submitted — 0 Five groups of ten — roughly 165
Total about 333 / 1000 about 729 / 1000

Contestant A is not the weaker programmer. On the day, A produced one flawless solution and so did B. The gap of nearly 400 points is almost entirely a scoring-model gap: A optimised for elegance inside a system that pays for coverage.

Stacked bar comparison in which contestant A scores about 333 points from one perfect solution while contestant B scores about 729 points from one full solution plus partial credit on two further problems
Coverage beats polish under group-based scoring. The cutoff line is drawn only to show the shape of the decision — real cutoffs are set per contest.

Reading your own score afterwards, group by group

The scoring model hands you a diagnostic, and most students throw it away. A score is not a grade; it is a description of exactly where your program broke. Learning to read it is what turns one contest into a training plan for the following eight weeks.

What you scored on a problem Most likely reading What to train next
Zero, no groups at all Wrong approach, a crash, or an input/output format mistake — the last is more common than students admit Re-read the statement and the sample slowly; rehearse the I/O convention before the next contest
The first few groups only Your idea was right but too slow — it survived small inputs and ran out of time on large ones Complexity estimation, then the standard faster techniques for your division
Most groups, a few missing Usually an edge case in the write-ups our coaches see: minimum input, all-equal values, or a number-range problem Systematic edge-case testing before you submit
Scattered failures with no pattern A genuine logic bug that your own tests never triggered Stress testing your fast solution against a brute force
Full marks Nothing to fix here Upsolve the problem you scored lowest on, not the one you enjoyed most

Do this reading within a day or two, while you still remember what you were thinking at each stage. Previous contests are the raw material for the repair work — see our past-contest resources for how to organise practice around exactly these failure modes, and our division-by-division guide for what each division expects you to be able to write quickly.

How partial credit interacts with promotion

Promotion through the four divisions — Bronze, then Silver, then Gold, then Platinum — happens by clearing a score cutoff set for that specific contest and division. The cutoff moves from contest to contest; recent seasons have seen figures somewhere in the region of 650 to 750 out of 1,000, but you should never plan against a fixed number. Check our cutoff reference and confirm against usaco.org, which is the only authority on those figures.

What matters strategically is the shape of the requirement rather than the exact digits. A cutoff anywhere in that region cannot be reached with one perfect solution, because one problem is only about a third of the paper. But it does not demand three perfect solutions either. The realistic promoting profile is roughly two problems solved plus meaningful partial credit on the third — which is to say that promotion is usually decided by the points you scrape off the problem you did not solve.

Across our own last three seasons of coaching, our de-identified tally records 18 Platinum, 70 Gold and 100 Silver promotions among students we worked with. That is our own count rather than a USACO statistic, and individual results vary widely. What our coaches keep noticing in the write-ups, though, is how many of those promotions were settled in the final hour on a problem the student never fully solved: one more test group cleared, one edge case fixed, one brute force submitted instead of abandoned.

The four contest-hour rules this implies

Everything above compresses into four rules. They are deliberately blunt, because on the day you want decisions you do not have to re-derive under time pressure.

  • Read all three problems in the first twenty minutes. You cannot allocate effort across a paper you have not read. Students who open problem 1 and start typing are the ones who never look at problem 3.
  • Bank a floor on every problem before perfecting any of them. Three floors beat one ceiling under group scoring.
  • Submit early, and make sure your last submission is your best one. Nothing rewards holding back a working-but-slow program, but USACO grades only the final submission on each problem — so if a rewrite is failing at the end of the block, resubmit the version you know works.
  • Spend the last half hour on your lowest-scoring problem, not your favourite one. Marginal points are cheapest where you currently have none.

One boundary on all of this. USACO requires that the work be entirely your own and prohibits generative-AI assistance such as Copilot or ChatGPT; cheating carries a permanent ban from all USACO activities. Partial-credit strategy is about how you allocate your own thinking during the contest, and nothing in it licenses outside help.

Does a partial score count towards promotion?
Yes. Promotion depends on your total against that contest's cutoff, and partial credit from every problem counts towards that total.

How many points is one test group worth?
Roughly 333 divided by the number of groups on that problem. With at least ten groups, that is around 33 points each.

Should I submit a solution I know is too slow?
Yes, if it is correct. It will pass the smaller test groups and bank those points. A correct slow program always beats no submission.

Do failed test groups subtract points?
No. You keep the points from groups you pass, and groups you fail simply award nothing.

This is an independent guide operated by Hanlin Education for China-based international-school students. It is not affiliated with, endorsed by, or sponsored by USACO (the USA Computing Olympiad). Contest format, scoring, promotion cutoffs, rules and dates are set by USACO and may change — always confirm current details on usaco.org, where registration and participation take place. Cohort figures are our own de-identified tally, not a USACO statistic, and individual results vary. Any factual error brought to our attention is corrected within 7 working days.

END.OF.FILEKEEP SOLVING