International Olympiad in Informatics
The International Olympiad in Informatics (IOI) is an annual competitive programming competition for secondary school students. It is the second largest olympiad, after International Mathematical Olympiad, in terms of number of participating countries (IOI 2014 saw participation of 84 countries). The first IOI was held in 1989 in Pravetz, Bulgaria.
The contest consists of two days of computer programming and problem-solving of algorithmic nature. To deal with problems involving very large amounts of data, it is necessary to have not only programmers, "but also creative coders, who can dream up what it is that the programmers need to tell the computer to do ... the hard part isn't the programming, but the mathematics underneath it." Students at the IOI compete on an individual basis, with up to four students competing from each participating country (with 81 countries in 2012). Students in the national teams are selected through national computing contests, such as the Australian Informatics Olympiad, British Informatics Olympiad, Indian Computing Olympiad and Bundeswettbewerb Informatik (Germany).
Competition structure and participation
On each of the two competition days, the students are typically given three problems which they have to solve in five hours. Each student works on his/her own, with only a computer and no other help allowed, specifically no communication with other contestants, books etc. Usually to solve a task the contestant has to write a computer program (in C, C++ or Pascal, and occasionally FORTRAN and PHP, C++11 is supported starting from IOI 2014, while Java is planned to be added in IOI 2015) and submit it before the five hour competition time ends. The program is graded by being run with secret test data. From IOI 2010, tasks are divided into subtasks with graduated difficulty, and points are awarded only when all tests for a particular subtask yield correct results, within specific time and memory limits. In some cases, the contestant's program has to interact with a secret computer library, which allows problems where the input is not fixed, but depends on the program's actions – for example in game problems. Another type of problem has known inputs which are publicly available already during the five hours of the contest. For these, the contestants have to submit an output file instead of a program, and it is up to them whether they obtain the output files by writing a program (possibly exploiting special characteristics of the input), or by hand, or by a combination of these means.
IOI 2010 for the first time had a live web scoreboard with real-time provisional results. Submissions will be scored as soon as possible during the contest, and the results posted. Contestants will be aware of their scores, but not others', and may resubmit to improve their scores.
The scores from the two competition days and all problems are summed up separately for each contestant. At the awarding ceremony, contestants are awarded medals depending on their relative total score. The top 50% of the contestants are awarded medals, such that the relative number of gold : silver : bronze : no medal is approximately 1:2:3:6 (thus 1/12 of the contestants get a gold medal).
Unlike other science olympiads, the IOI regulations specifically prohibit ranking by countries. Although unofficial rankings are circulated within some participating nations, there is therefore no standard. Prior to IOI 2010, students who did not receive medals did not have their scores published, making it impossible for a country to be ranked by adding together scores of its competitors unless each wins a medal. From IOI 2010, although the scores of students who did not receive medals are still not available in the official results, they are known from the live web scoreboard. In IOI 2012 the top 3 nations ranked by aggregate score (Russia, China and USA) were subsequently awarded during the closing ceremony.
President of the IOI, Richard Forster, says the competition has difficulty attracting women and that in spite of trying to solve it, "none of us have hit on quite what the problem is, let alone the solution."
List of IOI websites and locations
|Number||Year||Dates||Host country||Host city||Website||Results|
|2||1990||July 15–21||Belarus, Soviet Union||Minsk||(results)|
|7||1995||June 26 – July 3||Netherlands||Eindhoven||(website)||(results)|
|8||1996||July 25 – August 2||Hungary||Veszprém||(website)||(results)|
|9||1997||November 30 – December 7||South Africa||Cape Town||(results)|
|14||2002||August 18–25||Korea Rep.||Yong-In||(website)||(results)|
|15||2003||August 16–23||USA||Kenosha, Wisconsin||(website)||(results)|
|17||2005||August 18–25||Poland||Nowy Sącz||(website)||(results)|
|18||2006||August 13–20||Mexico||Mérida, Yucatán||(website)||(results)|
|22||2010||August 14–21||Canada||Waterloo, Ontario||(website)||(results)|
|24||2012||September 23–30||Italy||Sirmione and Montichiari||(website)||(results)|
|27||2015||July 26 - August 2||Kazakhstan||Almaty||(website)||
|28||2016||August 12 - 19||Russia||Kazan||(website)|
Multiple IOI winners
The following is a list of the top performers in the history of the IOI. The * sign indicates a perfect score, a rare achievement in IOI history. Also, first (I), second (II) and third (III) places among gold medalists are indicated where appropriate. This list includes only those countries where the national selection contest allows the same participant to go multiple times to the IOI.
|Gennady Korotkevich||Belarus||G(II) 2012||G*(I) 2011||G(I) 2010||G(I) 2009||G 2008||G 2007||S 2006|
|Filip Wolski||Poland||G(I) 2006||G 2005||G 2004||G 2003|
|Rares-Darius Buhai||Romania||G 2015||G 2014||G 2013||G 2012|
|Rumen Hristov||Bulgaria||G 2012||G 2011||G(II) 2010||S 2009||S 2008|
|Martin Pettai||Estonia||G 2002||G 2001||G 2000||S 1999|
|Andrzej Gąsienica-Samek||Poland||G 1999||G 1998||G 1997||S 1996|
|Vladimir Martianov||Russia||G 1999||G*(I) 1998||G(I) 1997|
|Scott Wu||United States||G*(I) 2014||G 2013||G 2012|
|Martin Mareš||Czech Republic||G 1995||G 1994||G 1993|
|John Pardon||United States||G 2007||G 2006||G 2005|
|Marcin Andrychowicz||Poland||G 2008||G 2007||G 2006|
|Neal Wu||United States||G 2010||G 2009||G 2008|
|Shogo Murai||Japan||G 2012||G 2011||G 2010|
|Alex Schwendner||United States||G 2005||G 2003||S 2004||S 2002|
|Wolfgang Thaller||Austria||G 1997||G 1996||S 1999||S 1998|
|Bruce Merry||South Africa||G 2001||G 2000||S 1999||B 1998||B 1997||B 1996|
|Goran Žužić||Croatia||G 2008||G 2007||S 2009||B 2006|
|Vlad Alexandru Gavrilă||Romania||G 2013||G 2012||S 2011||B 2010|
|Victor Bargachev||Russia||G(I) 1995||G(I) 1994||S 1993|
|Johnny Ho||United States||G*(I) 2012||G 2011||S 2013|
|Mihai Pătraşcu||Romania||G(II) 2001||G 2000||S 1999|
|Roman Pastoukhov||Russia||G 2000||G(II) 1999||S 2001|
|Piotr Zieliński||Poland||G 1997||G(III) 1996||S 1995|
|Fredrik Huss||Sweden||G 1993||G 1992||S 1991|
|Miroslav Dudík||Slovakia||G 1997||G 1996||S 1995|
|Richard Královič||Slovakia||G 1999||G 1998||S 1997|
|Tomasz Czajka||Poland (1998, 2000), United Kingdom (1999)||G 2000||G 1999||S 1998|
|Petr Mitrichev||Russia||G 2002||G 2000||S 2001|
|Luka Kalinovčić||Croatia||G 2004||G 2003||S 2002|
|Rostislav Rumenov||Bulgaria||G 2007||G 2006||S 2005|
|Richard McCutchen||United States||G 2007||G 2005||S 2006|
|Vladislav Epifanov||Russia||G 2008||G 2007||S 2009|
|Cosmin Gheorghe||Romania||G 2009||G 2008||S 2007|
|Pasin Manurangsi||Thailand||G 2011||G 2010||S 2009|
|Wenyu Cao||United States||G 2011||G 2010||S 2009|
|Eduard Batmendijn||Slovakia||G 2013||G 2012||S 2014|
- International Science Olympiad
- ACM International Collegiate Programming Contest
- Central European Olympiad in Informatics
- Online judge
- International Mathematical Olympiad
|Wikimedia Commons has media related to International Olympiad in Informatics.|
- Централна европска олимпијада у информатици
- IOI International Committee Website
- IOI Database
- IOI Secretariat Website
- IOI 2004 (held in Athens,Greece) website
- IOI 2005 Website
- IOI 2007 Website
- IOI 2009 Website
- IOI 2010 Website
- Photos from some former Informatics Olympiads.
- IOI 2009 Results
- IOI 2011 Website
- IOI 2012 Website
- IOI 2013 Website
Open-source project for running contests:
- Contest Management System Open-source tool in Python to run and manage a programming contest on a server [IOI2012].