You're not signed in!

Sign in to save your progress and sync your settings across devices.


Authors: Nathan Wang, Benjamin Qi

How to contribute!

Note that the USACO Guide has a public Github Repository. Feel free to contribute by submitting issues and Pull Requests!

Please help fix some of the issues on our Github Repository!

If you're interested in joining the team, please fill out this Google form.

Ways to Contribute

Some examples:


  • Convert lists of resources to tables (Plat / Advanced).
  • Add missing descriptions for sections, modules, or resources.
    • All resources should have descriptions.
  • Improve explanations for sample problems.
    • If starred resource or editorial already has a good explanation, no need to repeat it.
  • Improve implementations.
    • Include code handling input & output.
    • Should be consistent across languages.
  • Adding modules!


  • Convert lists of problems to tables (Plat / Advanced).
  • Fix problem difficulties and tags.
  • Add problems that are good examples of the module topic (and remove those that are not).
  • Adding official editorial links.
    • Those for USACO are automatically generated.
  • Adding editorials.
    • If no editorial exists, or if existing editorial could be improved.
    • Or solution code in a different language, etc.

Writing Content

This section is not complete.

Feel free to file a request to complete this using the "Contact Us" button.

Add more details later.

All modules are written in MDX (Markdown + JSX), with limited Latex support from KaTeX and some custom components. You can check how an .mdx file renders by pasting it in the live editor.

See the Content Documentation for more info.

Useful Links

Adding a Solution

If it doesn't already exist, create a new mdx file including frontmatter, ex. the following in USACO jan17-cow-dance-show.mdx:

id: usaco-690
title: USACO 2017 January Silver - Cow Dance Show
author: Óscar Garries

(add solution here ...)

Keep file and ID names consistent; namely, USACO IDs should correspond to the URL on Then add the solution ID (usaco-690) as the last argument of the Problem constructor in the corresponding module (in this case, Binary_Search_Ans.mdx).

new Problem(
    'Cow Dance Show',

Make sure to check that both the module and the solution render properly using the live editor before submitting a pull request.

Module Progress:

Give Us Feedback on Contributing!