Rules of the Cornell Programming Competition

Sponsored by the ACSU

These rules are adapted from the rules for the ACM International Collegiate Programming Contest.


Competitors must be students at Cornell University. Competitors must work alone. Competitors will have approximately four hours to complete four to six programming problems. They will write programs to compute the solutions and give the programs or solutions to the judges for evaluation. The decision of the head judge is final in all matters.

All programs are text based. Programs must read input from a designated input file with fixed filename, and write output to a designated output file with a given name. Alternatively, programs may read input from stdin, and write output to stdout.

Both input and output format are crucial. Adhere to them precisely to avoid getting solutions judged as wrong.

Programs will be written in C or C++ and compiled using Microsoft Visual Studio 7.0, or written in Java and compiled using JDK 1.3. All programs must execute in less than one minute. Any program taking longer than this time will be terminated and judged incorrect.

Competitors may bring and use any written reference material they desire. They may not use any electronic aids, including calculators. The on-line help in the compilers may be used, but no web browser may be used, neither for local nor for other sites.

Competitors should not log out of Windows for the duration of the contest.

Submission Procedures

Competitors will submit their programs or output data using PC^2.

Solutions must be named according to the given file names, and their extension must be ".cpp" or ".java". The same holds for the input and output file names, if file I/O is used.

Competitors will receive notice from the judges, indicating whether or not the program functioned correctly. If it did not function correctly, they will be given exactly one of the following error messages:

The judges will give whichever error message they notice first.

Clarification Procedures

Competitors will submit their clarification requests using PC^2.

The problems are not intended to contain any misleading information, or to purposefully disguise any special cases. If you still want to ask for a clarification, use PC^2 to do so.

The judges will respond to all requests for clarification. However, the judges may respond with "Read the problem statement." If a question needs to be clarified during the contest, the judges will make a general announcement.


The winner is the competitor who completes the greatest number of problems. Ties are broken according to least total time. Here, the total time is the sum over all problems of the times at which the participant submitted the problems correctly, plus additional penalty time for incorrect submissions. If a participant submitted a problem correctly several times, the first time will be counted.

Each incorrect submission for a problem that the competitor eventually gets correct will penalize him or her by adding 20 minutes to his or her total time. Incorrect solutions to problems which are never answered correctly do not add to the total time. Neither do incorrect solutions submitted after correct solutions.

Example 1: Competitor 1 submits problem A incorrectly after 40 minutes, and correctly after 46 minutes. Also, he submits problem B correctly after 72 minutes, and incorrectly after 74 minutes. Then, his total time is 46 + 20 + 72 = 138 minutes.

Example 2: Competitor 2 submits problem B incorrectly after 7 minutes, and correcly after 18 minutes. She then submits problem A incorrecly after 70 minutes, and correctly after 77 minutes. Her total time is 18 + 20 + 77 + 20 = 135 minutes, even though she finished later than competitor 1 and had more incorrect submissions. It pays to solve small and easy problems first.


Correct solutions to all of the problems which were answered correctly by at least one contestant will be posted to the web. By participating in the contest, all contestants give permission to the Head Judge to post their solution as the correct solution on the web. Proper credit will be given.

This page is maintained by Martin Pal.

Last modified: 4 Oct 2003