Indiana University Programming Competition Rules

Team Composition

  • Each team consists of up to three IU students (or pre-college students) as contestants.

Conduct of the Contest

  • Each team will use a single workstation.
  • Contestants are allowed to bring their own printed materials (books, notes, etc.) to consult during the competition, but contestants cannot access any internet sources (excluding the contest problems).
  • Solutions to problems submitted for judging are called runs. Each run is judged as accepted or rejected by the judge team, and the contestant team is notified of the results.
  • For each run, the judge team test the submission with a set of secret test data. The run is accepted if the submitted code makes desired outputs within the specified time and memory limit; otherwise it is rejected with messages such as Wrong Answer, Time Limit Exceeded, Memory Limit Exceeded, Crash, etc.
  • A contestant may converse with the judge team on the possible ambiguity or error in a problem statement.
  • Contestants are not to converse with anyone except members of their team and the judge team.
  • The contest is scheduled for four hours.
  • There will be at least eight problems in the contest.

Scoring

  • A problem is solved when it is accepted by the judge team. The judge team is solely responsible for accepting or rejecting submitted runs.
  • There will be separate winning teams for each level (pre-college, undergraduate, and graduate).
  • Teams are ranked according to the most problems solved. Teams who solve the same number of problems are ranked by least total time. The total time is the sum of the time consumed for each problem solved. The time consumed for a solved problem is the time elapsed from the beginning of the contest to the submittal of the accepted run plus 20 penalty minutes for every rejected run for that problem regardless of submittal time. There is no time consumed for a problem that is not solved.

Programming Languages

  • The programming languages of the contest will include C/C++, Pascal, Java, Python. Additional programming languages may be used.