Advice for IOI Participants

Do not confuse this advise with the official IOI Regulations.

If you are a first-time participant of an IOI, either as a delegation leader or deputy, an observer, or a competitor, then it is advisable to read some of the reports for previous IOIs.
Every IOI is different, but the changes should not be very drastic (mostly).

Leaders Competitiors  
Competing for Gold

Everyone at the IOI goes for gold (one would expect). Talent is what counts most, but there are some basic habits that may help.


Study carefully the tasks and solutions of recent previous IOI competitions.
Weaker competitors are also advised to practice on easier tasks.


The Competition Rules specify what items you can bring into the competition area and the procedure for doing so. Setting up your development platform (e.g. to accommodate a personal keyboard) can only be done after the start signal. Practice this during the Practice Competition. The ultimate penalty for misbehavior at an IOI is disqualification.
See the Competition Rules for details.

Task descriptions

Read all the tasks descriptions carefully and completely. And then read them again.
The official version of the task descriptions are written in English, and these are binding.
The translations are made by the delegation leaders/deputies. They need not contain diagrams.
Consult the official version for diagrams and numbers (such as upper bounds on input values).
All tasks are different. If you cannot solve all of them, work on the one(s) where you can get the best results, and ignore the other(s). Programming tasks impose constraints on avaialble resources (time, memory). Note that inefficient programs, which do not satisfy all constraints under all required conditions, can often still score some points, by solving simpler cases within the specified constraints.

Clarification requests

Clarification requests may be phrased in your native language. Your delegation leader/deputy will translate your request into English. There are only three answers possible to a clarification request: `Yes', `No', and `No Comment'. The answer will not be translated! Clarification requests may only be submitted during the first hour of each competition day.

When you ask for a clarification make sure that it can be answered with Yes/No, and that such an answer will be helpful to you.
Completely useless `question':
I do not understand what `X' means.
Useless question:
Does `X' mean `A...' or `B...'?
Useful question:
The definition of `X' in the task description seems ambiguous. Does `X' mean `A...'?

Input and Output Data

You may assume that the official input data, used for the evaluation of your program, agrees with the task description. That is, the (secret) test data will have the promised format and all values will be within the stated bounds. However, no such guarantee applies to any test input that you yourself make up. Carefully check your own input files. You can do that by looking at the input files in an editor, by writing and applying (!) a separate input validiation program, or by extending your program with an input validation routine. If you do the latter, your program may write a warning message to the screen for invalid data. During official testing, no warning messages will be generated. If you opt for an input validation routine, it must do no i/o if the input data is valid. You are also responsible for proper formatting of output data. If the output format does not agree with the task description, then you will score zero points.


Computers may fail; also at the IOI. Frequently make backups of your program source files.
A facility will be provided for the purpose of making backups. See the Competition Rules.


Know the features of your preferred programming language: how to do I/O, how to use a library, ... Know how to operate the software tools available at an IOI: compiler, integrated development environment, editor, debugger; and also the operating system: file manipulation, scripting, timing, ... Prepare yourself for the practice session, so that you do not waste time deciding what experiments to do