2020-21 ICPC North America Qualifier

The NAQ is an online, pre-regional programming contest to help coaches choose teams for regional competitions (or serve as practice).

The 2020 NAQ begins at 8 p.m. Eastern Time on Thursday, 11 February.


Courtesy of UPE, a $250 digital Vanilla Visa Card will be provided to each team solving the four red-marked problems of the NAQ first. These teams will also be invited to an online, celebratory meeting with the NAQ Judges and Organizers. 


By now you should have received Kattis accounts for your teams. Contestants may log on to the contest site any time after receiving accounts. The contest site is:




If you have not yet received your Kattis accounts, please contact the contest director, Fredrik Niemelä, as soon as possible:




Good luck to all contestants!

Three Hour Deadline

About the NAQ

The ICPC North America Qualifier is an online-only programming contest, scheduled to precede all ICPC North America regional contests. If you are a coach, you can use it in place of a local competition to help you determine teams for your regional ICPC contest. Or you can use it as extra practice. Please note: the North America Qualifier does not automatically qualify (or promote) any team to a regional


The 2020-21 ICPC North America Qualifier will be on February 11, 2021, from 8-11 pm ET. It is an online contest, held on Kattis.

Register for the NAQ




We will use your registration information to create teams on Kattis. Note that you must register for this contest to participate; registering for a regional does not register for this contest, or vice-versa.

After registration is closed on February 8, 2021, it will not be possible to accommodate new registrations or changes to existing registrations. So please register early.

There is one contest, with 12 "sites." The 12 sites correspond to the 11 regions of North America, plus one extra site for contestants who are not eligible to compete in ICPC in North America (e.g., high school students or people whose school is not in an ICPC North America region).

Please register for the site that corresponds to your region. 

Coaches may register as many teams as they like (each team can have anywhere from 1 to 10 competitors — that's up to you). If you are in doubt about how many you may need, register more up front (as it will be impossible to add teams after registration freezes). But please try to be somewhat realistic for our planning purposes.

Coaches can create empty teams as placeholders but should fill them with the actual students that will compete before registration is closed. "Empty" teams will not get competition login credentials.



If you have questions, first please consult the FAQ on this page.

If after that you still have questions, please contact Fredrik Niemelä

Frequently Asked Questions

  • What is it? An online (distributed) programming contest, offered as a drop-in replacement for so-called "qualifying" contests (e.g., school-level, pre-regional competitions).

  • When is the contest? — February 11, 2021, from 8-11 pm ET at https://naq20.kattis.com/

  • When does official registration begin? Now

  • When does official registration close? February 8, 2021

  • Can I register after registration is closed? No, due to the number of expected people participating and the limited support. Please make sure to register for the correct contest before the deadline.

  • Where do I register? https://icpc.global/regionals/finder/North-America-Qualifier-2020

  • What contest should I (a coach) register my team for? The site corresponding to your region. Note that this is the "North America Qualifier," not a regional competition. As the names of different contests may look similar, please make sure you register for the North America Qualifier and the site corresponding to your region.

  • What if I am not a part of ICPC? Please register then for the ICPC-Ineligible site. This is for contestants who are (e.g.) in high school or are otherwise ineligible to participate in a North American ICPC region.

  • Is this a qualifying contest, a practice contest, or something else? We are calling this a qualifying contest for the regional competitions. It can be (but is not required to be) used to help choose teams for the regional programming competition.

  • Why is it being offered so early in the spring? To make sure it precedes all North American regional competitions.

  • Must students participate in teams of three? Coaches may make teams of one to 10 contestants, but no prescribed number is required. The coach decides for their school and teams.

  • Must I participate? No. If you don't find this useful for your situation, feel free to ignore it.

  • I already offer a contest. Why should I use this one? There are several benefits. It will save you work and increase registration for your region, which helps allocate wildcard slots for the ICPC World Finals.

  • How will results be used? However, the coaches choose to use them. The results do not dictate anything about which contestants get to go to regionals, for example. However, one way we envision a coach may use the results is to select the top-finishing team(s) for the regional competition.

  • Where should I go to compete? Please compete wherever you are. This is an online competition to meet in a common location, but coaches should organize that independently.

  • What resources does a local site need to provide? For each team, a computer with internet access, a web browser, and whatever development environment(s) you wish.

  • What judging system will be used? Kattis. You can create a free account and try out Kattis at open.kattis.com.

  • Do I need to provide / can I provide my own judging? No, it will be done through Kattis and our centralized contest management.

  • Can I provide my own problems? We welcome your offer to contribute problems to official problem sets for future years — if you wish to do this, please contact Fredrik Niemelä. This year's problem sets have already been selected. 

  • What languages will be supported? C, C++, Java, Python 3, and Kotlin. Note that Python 2 support is dropped for this year (this is due to ICPC World Finals dropping it).

  • How many problems will there be? 8

  • What will be the difficulty level of the problems? We are aiming for a wide range, with multiple easier problems for novice programmers.

  • How will the contest run? Contestants will submit code and receive responses via the web. Coaches/facilitators should ensure the integrity of their own contestants (such as internet usage during the contest, appropriate books, and materials, etc.).

  • Is this one contest or multiple contests? While we will use one set of problems offered at one time, each participating school will be in its own contest with its own set of results. Results will not be collated across schools.

  • How much does this cost? It's free.

  • Will there be a practice portion of this contest? You can practice using the Kattis system at open.kattis.com. You can create a free account and submit problems to the judging system, just like in the qualifier. The actual qualifier will be hosted at a different website with different credentials.

  • Whom should I contact with questions? Fredrik Niemelä 

Post Contest Results

Congratulations to all the teams that participated!

This year's contest was a bit different from past NAQs. Owing to delays and other difficulties due to the COVID-19 pandemic, the 2020 NAQ was postponed until February 2021 and was reduced in length from a 5-hour contest to a 3-hour contest. Instead of the customary 11–13 problems, there were eight: four new problems and four drawn from earlier NAQ contests.

Statistics on the official contest:

  • Number of contestants that participated: 677

  • Number of teams that participated: 382

  • Number of universities that participated: 89

  • Number of teams that solved at least one problem: 372

  • Number of submissions: 3444

  • Statistics for individual problems are on the Kattis contest site.

  • Distribution of the number of problems solved by the number of teams solving them.

    • 1 - 25

    • 2- 75

    • 3 - 101

    • 4 - 50

    • 5 - 75

    • 6 - 22

    • 7 - 15

    • 8 - 9

For this contest only, Upsilon Pi Epsilon, the International Honor Society for the Computing and Information Disciplines, awarded prizes to the first teams to solve each of the four new problems. In order of time solved,

  • First to solve problem H: Using Digits (solved at contest time 0:06:59):
    Team: cout << 1/0 << endl;
    Affiliation: Swarthmore College
    Members: Runze Wang, Jay Leeds, Timothy Mou

  • First to solve problem E: Perfect Path Patrol (solved at contest time 0:08:41):
    Team: aqtdab
    Affiliation: University of Waterloo
    Members: Andrew Tang, William Li, George Chen

  • First to solve problem B: Drawing Circles (solved at contest time 0:41:15):
    Team: logn/loglogn
    Affiliation: University of British Columbia
    Members: Henry Xia

  • First to solve problem G: Sky's the Limit (solved at contest time 1:05:34):
    Team: Waterloo Gold
    Affiliation: University of Waterloo
    Members: Arash Mahmoudian Bidgoli, Wen Yuen Pang, Kevin Wan

Congratulations to the winners!


  • Thanks to all contestants who participated!

  • Thanks to all coaches who registered all those teams.

  • Thanks to the judges who put in tons of work preparing the contest problems. In lexicographical order, the 2020 judges were: Arup Guha, Bowen Yu, Brent Yorgey, Ethan McGee, Etienne Vouga, Godmar Back, Joshua Guerin, Kathleen Ericson, Peter Steele, Robert Hochberg, Yujie An, and Zachary Friggstad

  • Thanks to the volunteers who contributed candidate problems and reviewed and selected the contest problems. In 2020, they were: Ben Reed, Bowen Yu, Brent Yorgey, Ethan McGee, Etienne Vouga, Godmar Back, H. Keith Edwards, Joshua Guerin, Kathleen Ericson, Mike Domaratzki, Nathan Mytelka, Peter Steele, Robert Hochberg, Yujie An, and Zachary Friggstad

  • Thanks to the Kattis staff for supporting the contest. Particular thanks to Fredrik Niemelä and Greg Hamerly.