Fall 2019 CGS Programming Contest

Bronze Sponsors


Sign Up Here

Registration is free.

Basic Information

Time: 9:45AM – 3:00PM

Location: Catlin Gabel School

Team Sizes: 1-3 people per team.

Cost: Free

Languages: Java, C++, C#, and Python

Divisions: Intermediate or Advanced

General Guidelines

Intermediate: A division for programmers who have recently started programming and/or are in one programming class.

Advanced: A division for programmers with more experience, typically having finished one programming class and are fairly knowledgeable about a specific language.

Note: These are guidelines, not rules. You may choose to sign up for either division.


  1. Each team member must be in middle school or high school.
  2. Teams must bring a charger and one computer that has a USB port and can run code in Java, C++, C#, or Python. If you choose to use another language, you must make sure the output will be readable. You also will not be provided with guidance on how to read input from files.
  3. No internet access is allowed during the contest to prevent people from looking up the solutions to problems, but books, printed code, and anything else on paper are allowed.


9:45: Arrive, check in begins.

10:00: Introduction to rules and schedule, get settled in.

10:45: Practice problem, working with reading input.

11:30: Contest begins.

12:00: Lunch while the competition goes on.

2:30: Announce winners. Raffle.

3:00: Go home.


Overview: There will be many programming problems, sorted by difficulty from easiest to hardest. The scoring system is based off of number of test cases correct and submission time with a time penalty for incorrect submissions. The three teams with the highest scores will receive medals. If there is a tie in points, the winner is decided by the team that completed their last problem first.

Input and Output: Read input from text file and output to console (answers checked manually by judges).

Sample Problem: You are facing off against a golem. In order to beat it, you must cast a magic spell. You are given two numbers. Your task is to find the largest number possible either by adding or multiplying the two numbers together in order to cast the strongest spell.

Input: The first line contains an integer L. The following L lines will each contain two numbers, N1 and N2.

Output: For each set of two numbers, print the largest number possible through either adding or multiplying the two numbers together.

Example Input:

6 12
1 54
2 2
9 -17
-7 -7

Example Output:



This pdf will describe how to read a txt file in Java, C#, C++, and Python, using a Mac or PC.

Reading Input Files


Bronze Sponsor: Brainium Studios

Brainium Studioos