The USA Computing Olympiad (USACO) is one of the most widely recognized algorithmic programming contests for pre-college students. It is free to enter, runs entirely online, and is open to students worldwide. If you are new to USACO and unsure about the schedule, how to register, or how the divisions work, this guide walks you through the essentials.
Introduction to USACO
The USA Computing Olympiad (USACO) is a computer programming competition for middle and high school students, organized in the United States. Anyone in the world can take part in the online contests and use its training resources at no cost; you simply register a free account and complete a contest within its scheduled window. Note that while everyone may compete online, only pre-college students in the USA are eligible for finalist and training-camp selection and for the USA team at the International Olympiad in Informatics (IOI).
Contest Schedule
USACO holds three online contests during the season, spaced a few weeks apart. You may enter any or all of them, and your division carries over from one contest to the next. Top-performing US competitors from the online contests are then invited to the US Open, which for the 2025-26 season is a proctored championship held in person at designated sites.
- First online contest: January 9-12, 2026
- Second online contest: January 30 – February 2, 2026
- Third online contest: February 20-23, 2026
- US Open: March 28, 2026
Each contest is open for a multi-day window. Once you begin, you have a single block of about four to five hours to work, and the timer cannot be paused.
Registration Process
1. Register an Account
Go to the official USACO website at usaco.org and click “Register for New Account” on the homepage to create an account.
2. Fill In Your Information and Activate the Account
Enter the requested details, such as your first name, last name, email address, and password. USACO sends your account information to the email address you provide. Log in promptly on the USACO login page to activate the account, and you can change your password once you are signed in.
3. Start the Contest
During a contest’s open window, go to the contest page and start the contest. The page then shows a countdown for your session, which begins immediately and cannot be paused. Gold and Platinum contestants who want a certified score (used for training-camp selection) must start on the Saturday the problems are released, at 12:00 ET, within a start window of roughly 15 minutes.
If translated problem statements are available, you can select your preferred language on the problem page.
4. Submit Your Solutions
Write your solution in your own programming environment (for example, an IDE such as Dev-C++, VS Code, or an editor of your choice) using one of the supported languages, then upload your source file on the contest page. USACO accepts C, C++, Java, and Python; C++ is the only language supported at the IOI and is the usual recommendation for the higher divisions. You may resubmit as many times as you like while your timer runs, and only your most recent submission for each problem is graded. The contest ends automatically when your time runs out, so make sure your work is submitted before then. If you reach a perfect score, you can end early.
Competition Divisions
USACO has four divisions, in increasing order of difficulty: Bronze, Silver, Gold, and Platinum. Every new competitor starts in Bronze and moves up by performing well.
- Bronze – entry level: basic programming, simple logic, and straightforward algorithms such as simulation, sorting, and brute force.
- Silver – common techniques such as greedy algorithms, binary search, prefix sums, and graph traversal (DFS).
- Gold – dynamic programming, graph theory and shortest paths, and efficient data structures such as union-find.
- Platinum – advanced modeling and problem-specific algorithms, with no fixed syllabus and no upper limit on difficulty.
Scoring and Promotion
Each contest is scored out of 1000 points, usually across three problems worth about 333.33 points each. Every problem is checked against roughly ten test cases, and you earn partial credit for the cases your program passes.
If your score clears that contest’s promotion cutoff, you move up to the next division for future contests. Cutoffs vary from contest to contest; in recent seasons the monthly contests have mostly fallen in the 650-750 range, with the US Open sometimes higher. A perfect score of 1000 promotes you immediately, and you may be able to start the next division’s contest within the same window. Promotion policies can change between seasons; for 2025-26, competitors who had reached Platinum were reset to Gold at the start of the year.
The Value of USACO
USACO is the pathway to the USA’s team for the International Olympiad in Informatics (IOI), which USACO describes as the most prestigious international algorithmic programming competition at the high-school level. Each year the top four USA students, selected through USACO, represent the country at the IOI. MIT Admissions’ blog lists USACO as the US qualifying competition for the IOI.
Because the divisions map to a clear progression of algorithmic skill, strong USACO results are a recognized signal of programming ability. Here is what steady progress reflects:
- Silver or Gold: a solid and growing command of standard algorithms and data structures.
- Platinum: advanced problem-solving on open-ended, difficult problems.
- Training camp or the IOI team: being among the strongest pre-college programmers in the USA.
USACO does not guarantee admission anywhere, and results are best understood as one meaningful part of a broader academic profile in computer science and related fields. What it reliably demonstrates is genuine, tested problem-solving skill.
Get Free USACO Preparation Materials
Scan the QR code below to request free practice problems, study guides, and past contest materials.