Skip to main content


7th Virginia Tech High School Programming Contest


The problems are now available on the kattis for practice.

This year, we had 63 contestants register in Division I of which 55 attempted at least one submission. 32 contestants solved at least one problem. There was a total of 548 submissions of which there were 97 AC submissions. In Division II, there were 72 registrations, 61 contestants who attempted at least one submission, 43 users who achieved at least one AC. Division II saw a total of 459 submissions of which 111 were AC. The winner of Division I, Richard Qi, solved all 9 problems in 3:59.

Congratulations to the following contestants (Division I):

  1. Place: Richard Qi (Princeton HS)
  2. Place: Ethan Yang (Los Altos HS)
  3. Place: Dougy Ouyang (AlphaStar Academy)

The top 3 contestants will receive cash prizes of $180, $120, and $60.

(Division II winners to be added).

Contest Description


After our successful HS Programming Contests held in 2014, 2015, 2016, 2017, 2018, and 2019, we are excited to invite to this year's contest. As in past years, this contest will be held online. Anyone enrolled in a high school is eligible to participate; however, you will need a teacher (or parent volunteer) functioning as the official team coach or sponsor. Please see below for details of the rules.

Please share this event with your friends and colleagues at other schools! Capacity permitting, this event is open to all high schools in the United States and possibly beyond, although we hope to particularly attract schools from the MidAtlantic region.

Format Update

Although we have traditionally held the contest in the style of an ICPC contest, with teams of (up to) 3 students sharing a computer to solve as many problems as possible within 5 hours, due to COVID-19, we are planning this year's contest as an individual contest.

We will instead have 2 Divisions: Division I for more advanced students, and Division II for those newer to programming competitions.

We anticipate that there will be widely varying levels of skills and accordingly, the problems will require varying levels of skill. We will include problems that require only simple I/O, control structures such as if/else and/or loops, as well as problems that require basic algorithms. To skillfully participate in a contest such as this one, participants need to quickly triage problems and solve the easiest ones first.

All problems will involve reading input line by line from standard input, and outputting an answer to standard output. (No other file I/O is allowed.) Coaches should make sure that contestants are familiar with this style of I/O. This may require the use of java.util.Scanner or similar classes in Java or raw_input() or sys.stdin or similar in Python.


The problem sets from 2014-2018 are now available on Kattis! (2014, 2015, 2016, 2017, 2018). You can practice problems individually, but you can also create a contest with these problems (if you haven't done them already). You can also find links to additional practice sites here.



Sat, Dec 12, 2020. 11:00am-5pm EST.


All Online


Please register using this Google Form.




  • Allowed languages are: Java, Python 2, Python 3, C, C++, Go, Scala, Racket, Ruby, and Haskell.
  • There will be 2 original problem sets with 8-12 problems of varying difficulty.
  • You may use one computer. You must have the ability to locally edit, compile, and test your code.
  • You will be using a web site to submit your solutions's source code. We will be using the PCS contest management system we have built here at Virginia Tech. Contestants can try it out here.
  • Contestants may not receive help from any human outside their team.
  • The use of a printer, where available, is allowed and encouraged.
  • There is no sign-up fee.
  • There is no limit on the number of contestants a school can send.
  • Code that was written before the contest may be used. This is like at the ICPC regionals, where teams can bring prepared materials.


  • Internet Access