Skip to main content

USACO: how to move from Bronze to Silver

7 min readUpdated

USACO contests have four divisions: Bronze, Silver, Gold and Platinum. Every student starts in Bronze and is promoted by scoring well in a contest. This guide covers what Bronze and Silver test and how to practise between contests.

What each division tests

DivisionMain topics
BronzeSimulation, complete search (trying every option), simple sorting, careful reading of the problem
SilverSorting with custom order, binary search, prefix sums, two pointers, graph traversal (BFS and DFS), greedy ideas
GoldDynamic programming, shortest paths, union-find, more advanced graph algorithms
PlatinumSegment trees and other advanced data structures, harder combinations of ideas

Habits that help in Bronze

  • Read the constraints first: they tell you whether trying every option is fast enough.
  • Work through the sample by hand before writing code.
  • Test with your own small cases, including the smallest and largest inputs.
  • Write simple, correct code before trying anything clever.

A weekly practice plan

DayPractice
2 daysLearn one new topic and solve 2 to 3 problems on it
2 daysPast USACO problems from your division, timed
1 dayUpsolve: redo problems you could not finish, after reading the solution
WeekendOne full past contest under contest time

After each contest

Read the official solutions for every problem you missed, write the code yourself, and note the idea you did not see. That list of missed ideas becomes your plan for the next weeks.

Frequently asked questions

Which language is best for USACO?

C++ is fastest, but Java and Python are accepted and fine for Bronze and Silver. Use the language you know best.

How long does Bronze to Silver take?

With steady weekly practice, many students are promoted within a season. It depends on how much time they can practise.

Can a mentor help during the contest?

No. Contests must be the student's own work. A mentor helps before the contest and reviews the problems after it ends.

Practise this, step by step

Short lessons with quizzes, practice and interview questions, from your first program to job-ready.

Java Programming course: syllabus and 1:1 mentoringCore Java from zero to OOP, collections, streams, files and threads.