International Olympiad in Informatics

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
The logo of the International Olympiad in Informatics

The International Olympiad in Informatics (IOI) is an annual competitive programming and one of the International Science Olympiads for secondary school students. It is the second largest science olympiad, after International Mathematical Olympiad, in terms of number of participating countries (83 at IOI 2017). The first IOI was held in 1989 in Pravetz, Bulgaria.

The contest consists of two days of computer programming/coding 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."[1] 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 or Bundeswettbewerb Informatik (Germany).

The International Olympiad in Informatics is one of the most prestigious computer science competitions in the world. UNESCO and IFIP are patrons.

Competition structure and participation[edit]

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 (only in C++) 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. Pascal will have been removed as an available programming language by 2019.[2]:11

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. Starting from 2012, IOI has been using the Contest Management System (CMS) for developing and monitoring the contest.

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).

The competition room at the IOI 2006
A bronze medal from IOI 2006 in Mexico
In front of the competition room at the IOI 2007

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.

Analysis of female performance shows 77.9 % of women obtain no medal, while 49.2 % of men obtain no medal. "The average female participation was 4.4% in 1989–1994 and 2.2% in 1996–2014." It also suggests much higher participation of women on the national level, claiming sometimes double-digit percentages in total participation on the first stage.[3] 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."[1]

In IOI 2017 held in Iran, due to not being able to participate in Iran, the Israeli students participated in an offsite competition organized by IOI in Russia.[2]:11 Due to visa issues, the full USA team was unable to attend, although one contestant Zhezheng Luo[4] was able to attend by traveling with the Chinese team[5] and winning gold medal and 3rd place in standings.[6]

In IOI 2019 held in Azerbaijan, the Armenia team did not participate due to the dispute between the two countries.

Due to the COVID-19 pandemic, both the IOI 2020 and IOI 2021, originally scheduled to be hosted by Singapore would be held as online contests.


Number Year Dates Host country Host city
1 1989 May 16–19 Bulgaria Bulgaria Pravetz
2 1990 July 15–21 Soviet Union Belarus, Soviet Union Minsk
3 1991 May 19–25 Greece Greece Athens
4 1992 July 11–21 Germany Germany Bonn
5 1993 October 16–25 Argentina Argentina Mendoza
6 1994 July 3–10 Sweden Sweden Haninge
7 1995 June 26 – July 3 Netherlands Netherlands Eindhoven
8 1996 July 25 – August 2 Hungary Hungary Veszprém
9 1997 November 30 – December 7 South Africa South Africa Cape Town
10 1998 September 5–12 Portugal Portugal Setúbal
11 1999 October 9–16 Turkey Turkey Antalya-Belek
12 2000 September 23–30 China China Beijing
13 2001 July 14–21 Finland Finland Tampere
14 2002 August 18–25 South Korea Korea Rep. Yong-In
15 2003 August 16–23 United States United States Kenosha, Wisconsin
16 2004 September 11–18 Greece Greece Athens
17 2005 August 18–25 Poland Poland Nowy Sącz
18 2006 August 13–20 Mexico Mexico Mérida, Yucatán
19 2007 August 15–22 Croatia Croatia Zagreb
20 2008 August 16–23 Egypt Egypt Cairo
21 2009 August 8–15 Bulgaria Bulgaria Plovdiv
22 2010 August 14–21 Canada Canada Waterloo, Ontario
23 2011 July 22–29 Thailand Thailand Pattaya
24 2012 September 23–30 Italy Italy Sirmione and Montichiari
25 2013 July 6–13 Australia Australia Brisbane
26 2014 July 13–20 Taiwan Taiwan Taipei
27 2015 July 26 – August 2 Kazakhstan Kazakhstan Almaty
28 2016 August 12–19 Russia Russia Kazan
29 2017 July 28 – August 4 Iran Iran Tehran
30 2018 September 1–8 Japan Japan Tsukuba
31 2019 August 4–11 Azerbaijan Azerbaijan Baku
32 2020 September 13–19a[7] Singapore Singapore online
33 2021 June 20–27[8] Singapore Singapore online
34 2022 Indonesia Indonesia
35 2023 Hungary Hungary Szeged
36 2024 Egypt Egypt[9]

All Time Medal Table[edit]

As of 2020
1 China (CHN)882712127
2 Russia (RUS)653912116
3 United States (USA)553616107
4 South Korea (KOR)434127111
5 Poland (POL)404432116
6 Romania (ROM)315232115
7 Iran (IRN)275823108
8 Bulgaria (BUL)274638111
9 Japan (JPN)25261061
10 Slovakia (SVK)24423399
Totals (10 nations)4254112351071

Multiple IOI winners[edit]

The following is a list of the top performers in the history of the IOI.[10] The P sign indicates a perfect score, a rare achievement in IOI history. The U sign indicates an unofficial participation, where a contestant participated in a host's second team. 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.

Name Team Years
Gennady Korotkevich Belarus G(II) 2012 GP(I) 2011 G(I) 2010 G(I) 2009 G 2008 G 2007 S 2006
Hristo Venev Bulgaria G 2016 G 2015 G 2014 G 2013 S 2012
Filip Wolski Poland G(I) 2006 G 2005 G 2004 G 2003
Yuta Takaya Japan G(I) 2017 G 2016 G 2015 G 2014
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
Eduard Batmendijn Slovakia G 2015 G 2013 G 2012 S 2014
Nikoloz Birkadze Georgia G 2020 G 2019 G 2018 S 2017
Vladimir Martianov Russia G 1999 GP(I) 1998 G(I) 1997
Scott Wu United States GP(I) 2014 G 2013 G 2012
Martin Mareš Czech Republic G 1995 G 1994 G(I) 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
Jarosław Kwiecień Poland G 2016 G 2015 G 2014
Vladimir Romanov Russia G 2019 G 2018 G 2017
Encho Mishinev Bulgaria G 2017 G 2014 S 2016 S 2015 S 2013
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 GP(I) 2012 G 2011 S 2013
Eric Price United States GP(I) 2005 GU 2003 S 2004
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
Zixiang Zhou Canada G 2020 G(III) 2019 S 2018
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
Benjamin Qi United States G(I) 2019 G(I) 2018
Jeehak Yoon Republic of Korea GP(I) 2015 G 2014
William Lin United States GP(I) 2020 S 2019
Bùi Hồng Đức Vietnam G 2020 G 2019

Feeder competitions[edit]

Most participating countries use feeder competitions to select their team. A number of these are listed below:


1.^a IOI 2020 virtual closing ceremony was held on September 23, 2020.

See also[edit]


  1. ^ a b Robson, Frank (10 August 2013). "Numbers game". The Sydney Morning Herald. Retrieved 17 August 2013.
  2. ^ a b "Minutes of the Meetings held in Kazan, Russian Federation" (PDF). General Assembly of International Olympiad in Informatics. 19 August 2016. pp. 7, 11.
  3. ^ Maggiolo, Stefano (2015). "An Update on the Female Presence at the IOI" (PDF). Olympiads in Informatics. London, U.K.: 9, 127–137 (2015): 127. doi:10.15388/ioi.2015.10. Retrieved 13 July 2017.
  4. ^ "Zhezheng Luo".
  5. ^ Simões, Gabriel (31 July 2017). "IOI 2017, first round - Codeforces". Codeforces. Retrieved 4 August 2017. There is really only one USA contestant on site, it looks like he came with the Chinese team (straight from China).
  6. ^ "IOI 2017: Results".
  7. ^ "IOI 2020 Website".
  8. ^ "IOI 2021 Website".
  9. ^ "IOI 2020 COVID-19 Updates".
  10. ^ "Hall of Fame".
  11. ^ Romanian National Informatics Olympiad
  12. ^

External links[edit]

International History Olympias (IHO)