Skip to main content


9th Virginia Tech High School Programming Contest​

Congratulations to the following teams:​

  1. Place: "We Wendys" (Dustin Miao, Weiming Zhou, Thomas Liu) (The Harker School/X-Camp Academy, CA)
  2. Place: "El LeBron" (Rayhan Zirvi and Patrick Deng) (River Hill HS, MD)
  3. Place: "ℋolo꒒𝒊√𝖊𝓯ඞℕ𝒮" (Names unknown, please contact us if you want to be listed)
Problem J Issue

After the contest, we discovered a mistake in the problem specification of problem J, Emoji Replacement. This problem stated a bound of 100,000 but the intended bound, and actual bound in the test data and input validator was 1,000,000. Unfortunately, we failed to notice this discrepancy during the contest.

We rejudged all submissions that failed due to this discrepancy. We sincerely apologize for how this may have affected teams' contests.

Contest Description


After our successful HS Programming Contests held in 2014, 2015, 2016, 2017, 2018, 2019, 2020, and 2021, 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

Based on the feedback we have received from coaches and contestants, we will hold this year's contest using the traditional format of an of an ICPC contest, with teams of (up to) 3 students sharing a computer to solve as many problems as possible within 5 hours. We will ask that each team provide us with the contact information of a witness who will testify that the team obeyed by the rules. This witness will ideally be a teacher or coach.

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-2020 are now available on Kattis! (2014, 2015, 2016, 2017, 2018, 2019, 2020). You can practice problems individually, but you can also create a contest with these problems (if you haven't done them already).



Sat, Dec 10, 2022. 11:00am-5pm EST


All Online


We will use self-registration on the day of the contest.




  • Allowed languages are: Java, Python 2, Python 3, C, C++, Go, Scala, Racket, Ruby, and Haskell.
  • There will be 1 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 may not receive help from any human outside their team.
  • Contestants may not use AI assistance including CoPilot, ChatGPT, and comparable systems.
  • 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