Competition Rules

This page provides a detailed overview of USACO rules, including student eligibility, programming languages, participation fees, contest format, competition levels, promotion mechanisms, submission rules, 2026 updates, and technical guidelines. Please read carefully.


I. General Rules

1. Eligible Students

  • Middle and high school students of any grade

  • Interested in computer science

  • Planning to apply to Computer Science, AI, Data Science, or related fields

Note: High school seniors may participate in the December monthly contest; outstanding performers can reach Platinum level before the December RD application.


2. Programming Languages

Participants may use C, C++, Java, Python, or Pascal.


3. Participation Fees

Completely free of charge.


4. Contest Format

  • Online contest, individual participation

  • Login to the USACO official website to submit code

  • Duration: 4–5 hours


5. Competition Levels and Content

USACO has four levels: Bronze, Silver, Gold, and Platinum. The difficulty increases with each level:

  • Bronze: Entry-level; for beginners with limited programming experience. Focuses on basic logical thinking and simple algorithms. Requires familiarity with at least one programming language.

  • Silver: Intermediate; tests standard algorithms such as greedy, binary search, prefix sums.

  • Gold: Advanced; involves dynamic programming, graph theory, and efficient data structures.

  • Platinum: Elite; requires complex problem modeling and algorithmic innovation. No predefined syllabus; difficulty is open-ended.


6. Scoring System

  • All levels have 3 problems per contest

  • Total score: 1000 points

  • Each problem: 333.3 points

  • Each problem contains 10 test cases; each test case awards 33.33 points


7. Promotion Mechanism

  • Path: Bronze → Silver → Gold → Platinum

  • New participants start at Bronze and advance by achieving high scores.

Promotion rules:

  • Full score promotion: Achieve 1000 points → automatic promotion to the next level during the same season.

  • Score-based promotion: Participants below full score wait for the promotion cutoff, determined by contest difficulty and overall performance. Achieving or surpassing the cutoff allows advancement.

  • Typical promotion threshold: 600–800 points


8. Submission Rules

  • Immediate feedback: Scores are returned instantly after submission.

  • Unlimited submissions: Participants may submit code multiple times until all test cases are passed or the time ends.


II. 2026 Season USACO Updates

To ensure academic integrity, the following rule changes and clarifications apply:

Update 1: US Open is now in-person

  • The season-ending US Open requires participants to compete at official proctored locations.

Update 2: Gold/Platinum start time restriction

  • Bronze/Silver unaffected

  • Gold/Platinum must start within the 12:00–12:15 ET window on Saturdays to have scores certified.

  • Scores outside this window are Non-Certified → cannot be used for promotion or US Open invitations.

Update 3: Training Camp eligibility

  • 2 valid contest scores → basic US Open invitation

  • 3 valid scores → stronger qualification guarantee

  • Valid score = completed within the certified window + meets score threshold

Update 4: Platinum “mass demotion”

  • Most Platinum participants, except top IOI candidates, are demoted to Gold at the start of 2026.

  • Purpose: annual leveling ensures fair competition and requires all participants to reprove their abilities.


III. Language-Specific Technical Guidelines

USACO contests typically have 3–4 algorithmic problems. Submissions can be in C, C++, Java, or Python.

1. C/C++

  • Compiled with gcc/g++ 7.5.0

  • Flags: -O2, -lm, -std=c++11 or -std=c++17

  • int = 32-bit; use long long for 64-bit integers

  • C-style I/O for long long: %lld

2. Java

  • Compiled with OpenJDK 11.0.10

  • Submit one file with a public class matching the filename

  • Public static void main required; all other classes cannot be public

  • No package lines allowed

3. Python

  • Supported versions: Python 2.7.17 / Python 3.6.9

  • Choose the correct version for submission

  • Python slower than compiled languages; time limits may affect very large test cases

  • Use -O flag to enable optimizations


Clarifications and Contact

  • For ambiguous problems, email Brian Dean at bcdean@clemson.edu with “USACO” in the subject line

  • Replies may suggest rereading the problem, but official clarifications will appear on the USACO contest page

  • Consider time zone differences (EST) when emailing

Online Consultation
Online Consultation