You are hereFrequently Asked Questions

Frequently Asked Questions


How does the contest work?

The first round is done online. Computer programming tasks are published on the website and solutions are submitted through the site. After the deadline, contestants are informed by email if they have qualified for the final round.

The final round takes place in the School of Computing, DCU on a Satuday in February. Finalists will be assigned to individual computers and given 5 hours to solve a selection of programming tasks.

Bronze, Silver and Gold medals will be awarded to the best programmers.

The top eight students from the Finals will be invited to attend a 3 day IOI training camp here in DCU (accommodation provided) during the month of June.

From these eight students the top four students will that will travel on an all-expenses-paid trip to the international contest to compete against countries from all over the world. Previous contests have taken place in the USA, Poland, China, Croatia and Mexico. Although countries are represented by teams of (at most) four people, it is an individual contest and medals are awarded on that basis.


Who can enter?

You can enter the programming contest if you are still in secondary school, under the age of 21 next July 1st and currently resident in the island of Ireland. This includes both Northern Ireland and the Republic of Ireland.


Who runs the contest?

The contest is run as part of the Science Olympiads in Dublin City University (DCU).

You can contact the organisers of the contest by using the contact form.


Programming Questions

In order to qualify, do I have to complete all questions in the first round?

Juniors (<15yrs) must get at least 4/6 first round entry problems to progress to the Finals.
Seniors (>=15yrs) must get at least 5/6 first round entry problems to progress to the Finals.

On competition day the four problems cover a range of abilities and are generally given in order of difficulty (the first is easiest and the last is hardest), so not everyone will be able to complete them all. 


Can I assume input is valid or do I need to check all input?

You can assume the input to your program will be valid and will be in the range specified (if a range is given in the task description)


How are my solution programs marked?

In the first round (which is done online), solutions are graded automatically on submission and results returned via your registration email.

In the final round, all programs are marked automatically by a grading system with scores received for each test case that your program processes correctly within the time limit.

In the description of each task, you will be given specific instructions on how your program should read the input for that task, and how it should generate the output for the task. This ensures that the testing program can run all tests fully automatically.

Normally, the input is given via stdin (the keyboard), so your program should use scanf (or cin for C++). The output is usually expected to go to stdout (the screen), so your program should use printf (or cout for C++). Given that everything you write to the screen is considered task output, it is important not to print out anything except the correct output in the desired format. For example, if the task asks for the output to be a single integer, then if the correct answer is "25" then you will score no points if you output "the answer is 25". These rules may seem harsh, but they are necessary to allow automated marking of code. They are also the international standard rules, so we adhere to them.


What computer language should I use to write my solutions?

In all stages of the AIPO you may write your solutions in Java, C, C++, Python. Please note, Python is not an  official language of the International Olympiad in Informatics, the rest are.


I have another question, who should I contact?

Email us at or contact us through Facebook or Twitter.