North American Championship 2020

2020-02-28

Last week, I was lucky enough to participate in the ICPC North American Championship (NAC)!

Background

ICPC (Inter-Collegiate Programming Contest) is the largest computer science competition for college students. Each year, teams from around the world compete in the ICPC world finals (this year in Moscow), and all around this is a fun extension of high school programming contests like USACO to the college scene.

But, not every school just gets to send a team to world finals. There is a lengthy qualification process which has historically been unfavorable to our region, the Greater New York Regional, as normally only one or two teams get to go to finals from our region.

To help alleviate this problem (as well as create a more unified North America in preparation for finals), this year the ICPC foundation started hosting the NAC. The NAC will not only be a great opportunity to meet people from other regions, but will also determine (at least partially) the teams going to world finals.

18 teams go to world finals, of which 6 slots come from winning a regional and 12 of which comes from placing at the top of the NAC.

Qualifying

Qualifying for the NAC (while winning the GNYR) is a story for another time. As a tldr, we won by (effecitvely) one minute, securing our place not only at the NAC but also at the world finals.

GNYR First Place

We were on our way to Georgia, mostly worried about not doing too bad since we already qualified for finals.

Before the Contest

Seeing People I Haven’t Seen in a While

Perhaps the biggest surprise of NAC was just how many people I would see again. I met up with my roommate from Mathcamp 2015, who was competing on the Caltech team. Interestingly enough, I actually knew another person from the Caltech team, who I had not seen since high school math competitions. Other people include the MIT coach, who I met at the same math camp, and the previous Cornell ICPC coach who unfortunately couldn’t come. Everyone has changed, some more than others, and it was great catching up.

Events and Cool Stuff

Unlike the GNYR, the NAC had A LOT of events. While we landed Wednesday afternoon, we would only be able to compete on Saturday (to help the west coast teams overcome the jet lag). Some notable ones include the opening ceremony, the NSA challenge, and the excursion to the Coke factory.

Arriving onsite Opening Ceremony Coke

During the Contest

Alas, it couldn’t all be fun and games. Soon the day of the contest arrived!

Contest

Initial Struggles

We struggled the first part of the contest. Our first submission (for problem B), happened at 42 minutes. By contrast, the only other team in the top 10 with a late submission was Harvard for problem H, in which they first solved the question at 32 minutes before solving F not more than 5 minutes later.

It wouldn’t end at the first question, either, as our next solution to F would take 3 tries. We would successively solve K, H, and G, each question encountering errors. They even captured some of our reactions

RTE

Success in the Last Hour

Going into the last hour, we were around rank 30, a pretty bad showing for the GNYR champions. We hadn’t solved a problem in hour 4, so it was now or never. At the time, we were working on questions A and C, both of which were only solved by the top teams.

First, we solved A with half an hour to go. Unlike all but one previous questions, we were able to do this bug free. Needless to say, we were pretty happy.

A

Finally, we solved C in the last 12 minutes. This meaned that we solved 7 questions. However, we didn’t know the other teams’ scores since the scoreboard was frozen, although we were hopeful we could medal.

C

After the Contest

Closing Ceremony and Awards

If you haven’t been to an ICPC closing ceremoney, it’s pretty exciting. They start from the bottom and iteratively try the submissions. If you get it right, your rank flies up.

rising

At the end, we managed to get 7th place. Luckily for us, this was right at the edge of getting a medal, so we managed to walk home with a bronze.

closing

Relaxing with Bowling

We finished off with some bowling. All in all, this was a great way to relax and celebrate our triumph. I leave you with a video of our coach bowling.

bowling