ICPC scoring and penalty time, explained

How an ICPC-style scoreboard ranks teams — problems solved, then penalty minutes, then the earliest last solve — with a worked example, the tie-breaks, the freeze and what it means for strategy.

The three rules

  1. More problems solved ranks higher. Nothing else matters until two teams have solved the same number.
  2. Between teams with the same count, less total penalty time ranks higher.
  3. Between teams equal on both, the team whose last solve came earlier ranks higher. Teams equal on all three share the rank.

How penalty time is counted

Penalty time is counted only for solved problems. For each one it is the number of whole minutes from the start of the contest to that problem's first accepted submission, plus 20 minutes for every rejected attempt on it before the accepted one. A team's penalty is the sum over its solved problems.

So a problem solved at 0:58 after one wrong answer costs 58 + 20 = 78 minutes. A problem attempted three times and never solved costs nothing at all.

A worked example

Three teams after a three-hour contest
TeamAccepted (and rejected attempts before it)SolvedPenaltyRank
Byte MeA at 0:12 · B at 0:58 after 1 wrong · C at 1:44312 + 78 + 104 = 1941
Null PointersA at 0:09 · B at 0:47 · C tried 3 times, never solved29 + 47 = 562
Stack SmashersA at 0:31 after 2 wrong · B at 1:04271 + 64 = 1353

Byte Me win on problems solved alone, whatever their penalty. Null Pointers and Stack Smashers both solved two, so penalty decides: 56 beats 135. Null Pointers' three failed attempts on C cost them nothing, because C was never solved.

Ties

If two teams solve the same number with the same penalty, the one that reached its last accepted solution first ranks higher — it got to the same place sooner. If that is equal too, the teams share the rank and the next rank is skipped, as in any sport.

What does not count

  • Rejected attempts on a problem the team never solves.
  • Anything submitted on a problem after it was accepted.
  • On CodeKairo Battles, a compile error or the judge failing to run the code — neither is an attempt. (Contests differ on compile errors; check the rules of the one you are in.)

Wrong answer, time limit exceeded, runtime error and memory limit exceeded all count as rejected attempts.

The freeze

Many contests freeze the public scoreboard for the last part of the contest — often the final hour. Teams still submit and are still judged, but other teams' results show only as pending. When the contest ends, the organizer reveals the final standings, usually one team at a time from the bottom. On CodeKairo Battles the organizer chooses the freeze (an hour by default, or none) and reveals the board after the end.

What the rules mean for strategy

  • Solve the easiest problems first. Every solved problem is charged the minutes since the start, so an easy problem solved late is expensive for no reason.
  • Test before you submit. A wrong answer costs 20 minutes — the price of a small problem solved.
  • Do not fear a hard problem you might not finish. Failed attempts cost nothing if it stays unsolved; they only cost if you eventually get it.
  • Read the whole set early. The problem that looks hardest is not always the one the scoreboard says is.

Frequently asked questions

How is ICPC penalty time calculated?
For each solved problem: the minutes from the contest start to its first accepted submission, plus 20 minutes per rejected attempt before it. The team's penalty is the sum over solved problems; unsolved problems add nothing.
Does a wrong answer count if the problem is never solved?
No. Rejected attempts only add penalty to a problem the team eventually solves.
What is the scoreboard freeze?
For the last part of the contest the public board stops showing other teams' results — their attempts appear as pending — until the organizer reveals the final standings after the end.