International Olympiad in Informatics
The International Olympiad in Informatics (IOI) is an annual competitive programming competition and one of the International Science Olympiads for secondary school students. The first IOI was held in 1989 in Pravetz, Bulgaria. It is the second largest science olympiad, after the International Mathematical Olympiad, in terms of number of participating countries (88 at IOI 2022). Each country sends a team of up to four students, plus one team leader, one deputy leader, and guests.
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 in each country are selected for their country's team through national computing contests. Students at the IOI compete on an individual basis. There is no official team ranking.
The IOI 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 has been removed as an available programming language as of 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).
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 (2011-2014), 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, despite the guarantees provided[7] and official invitation letter sent by the host Azerbaijan.
Due to the COVID-19 pandemic, both the IOI 2020 and IOI 2021, originally scheduled to be hosted by Singapore, were held as online contests. The IOI 2022, hosted by Indonesia, was held as a hybrid event, with around 25% of the contestants participating online.[8]
Members
[edit]- Albania
- Algeria
- Argentina
- Armenia
- Australia
- Austria
- Azerbaijan
- Bangladesh
- Belarus
- Belgium
- Bolivia
- Bosnia and Herzegovina
- Brazil
- Bulgaria
- Canada
- Chile
- China
- Colombia
- Croatia
- Cuba
- Cyprus
- Czech Republic
- Denmark
- Dominican Republic
- Ecuador
- Egypt
- El Salvador
- Estonia
- Finland
- France
- Georgia
- Germany
- Greece
- Hong Kong
- Hungary
- Iceland
- India
- Indonesia
- Iran
- Ireland
- Israel
- Italy
- Japan
- Jordan
- Kazakhstan
- Kyrgyzstan
- Latvia
- Libya
- Lithuania
- Luxembourg
- Macau
- Malaysia
- Mexico
- Moldova
- Mongolia
- Montenegro
- Morocco
- Netherlands
- New Zealand
- Nigeria
- North Macedonia
- Norway
- Pakistan
- Palestine
- Peru
- Philippines
- Poland
- Portugal
- Romania
- Russia
- Rwanda
- Saudi Arabia
- Serbia
- Singapore
- Slovakia
- Slovenia
- South Africa
- South Korea
- Spain
- Sri Lanka
- Sweden
- Switzerland
- Syria
- Taiwan
- Tajikistan
- Thailand
- Tunisia
- Turkey
- Turkmenistan
- Ukraine
- United Kingdom
- United States
- Uzbekistan
- Venezuela
- Vietnam
Former members
[edit]- Gabon
- Ghana
- Kuwait
- Madagascar
- Malta
- Mauritius
- Mozambique
- Sudan
- Trinidad and Tobago
- United Arab Emirates
- Zimbabwe
Summary
[edit]Number | Year | Dates | Host country | Host city | Results | Website |
---|---|---|---|---|---|---|
1 | 1989 | May 16–19 | Bulgaria | Pravetz | [9] | |
2 | 1990 | July 15–21 | Belarus, Soviet Union | Minsk | [10] | |
3 | 1991 | May 19–25 | Greece | Athens | [11] | |
4 | 1992 | July 11–21 | Germany | Bonn | [12] | |
5 | 1993 | October 16–25 | Argentina | Mendoza | [13] | [14] |
6 | 1994 | July 3–10 | Sweden | Haninge | [15] | [16] |
7 | 1995 | June 26 – July 3 | Netherlands | Eindhoven | [17] | |
8 | 1996 | July 25 – August 2 | Hungary | Veszprém | [18] | |
9 | 1997 | November 30 – December 7 | South Africa | Cape Town | [19] | |
10 | 1998 | September 5–12 | Portugal | Setúbal | [20] | |
11 | 1999 | October 9–16 | Turkey | Antalya-Belek | [21] | |
12 | 2000 | September 23–30 | China | Beijing | [22] | |
13 | 2001 | July 14–21 | Finland | Tampere | [23] | |
14 | 2002 | August 18–25 | Korea Rep. | Yong-In | [24] | |
15 | 2003 | August 16–23 | United States | Kenosha, Wisconsin | [25] | |
16 | 2004 | September 11–18 | Greece | Athens | [26] | |
17 | 2005 | August 18–25 | Poland | Nowy Sącz | [27] | [28] |
18 | 2006 | August 13–20 | Mexico | Mérida, Yucatán | [29] | |
19 | 2007 | August 15–22 | Croatia | Zagreb | [30] | [31] |
20 | 2008 | August 16–23 | Egypt | Cairo | [32] | |
21 | 2009 | August 8–15 | Bulgaria | Plovdiv | [33] | [34] |
22 | 2010 | August 14–21 | Canada | Waterloo, Ontario | [35] | [36] |
23 | 2011 | July 22–29 | Thailand | Pattaya | [37] | [38] |
24 | 2012 | September 23–30 | Italy | Sirmione and Montichiari | [39] | [40] |
25 | 2013 | July 6–13 | Australia | Brisbane | [41] | [42] |
26 | 2014 | July 13–20 | Taiwan | Taipei | [43] | [44] |
27 | 2015 | July 26 – August 2 | Kazakhstan | Almaty | [45] | [46] |
28 | 2016 | August 12–19 | Russia | Kazan | [47] | [48] |
29 | 2017 | July 28 – August 4 | Iran | Tehran | [49] | [50] |
30 | 2018 | September 1–8 | Japan | Tsukuba | [51] | [52] |
31 | 2019 | August 4–11 | Azerbaijan | Baku | [53] | [54] |
32 | 2020 | September 13–19a | Singapore | online | [55] | [56] |
33 | 2021 | June 19–25 | Singapore | online | [57] | [58] |
34 | 2022 | August 7–15 | Indonesia | Yogyakarta | [59] | [60] |
35 | 2023 | August 28 – September 4 | Hungary | Szeged | [61] | [62] |
36 | 2024 | September 1–8 | Egypt | Alexandria | [63] | |
37 | 2025 | Bolivia | La Paz | [64] | ||
38 | 2026 | Uzbekistan |
All-time medal table
[edit]Rank | Nation | Gold | Silver | Bronze | Total |
---|---|---|---|---|---|
1 | China (CHN) | 100 | 27 | 12 | 139 |
2 | Russia (RUS) | 68 | 40 | 12 | 120 |
3 | United States (USA) | 65 | 38 | 16 | 119 |
4 | South Korea (KOR) | 48 | 47 | 28 | 123 |
5 | Poland (POL) | 42 | 50 | 35 | 127 |
6 | Japan (JPN) | 35 | 28 | 10 | 73 |
7 | Romania (ROU) | 33 | 58 | 36 | 127 |
8 | Iran (IRN) | 31 | 65 | 23 | 119 |
9 | Bulgaria (BGR) | 27 | 51 | 45 | 123 |
10 | Taiwan (TWN) | 25 | 61 | 27 | 113 |
Totals (10 entries) | 474 | 465 | 244 | 1183 |
Multiple IOI winners
[edit]The following is a list of the top performers in the history of the IOI.[65] 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.
Name | Team | Years | ||||||
---|---|---|---|---|---|---|---|---|
Gennady Korotkevich | Belarus | G(II) 2012 | GP(I) 2011 | G(I) 2010 | G(I) 2009 | G 2008 | G 2007 | S 2006 |
Bruce Merry | South Africa | G 2001 | G 2000 | S 1999 | B 1998 | B 1997 | B 1996 | |
Rumen Hristov | Bulgaria | G 2012 | G 2011 | G(II) 2010 | S 2009 | S 2008 | ||
Hristo Venev | Bulgaria | G 2016 | G 2015 | G 2014 | G 2013 | S 2012 | ||
Encho Mishinev | Bulgaria | G 2017 | G 2014 | S 2016 | S 2015 | S 2013 | ||
Egor Lifar | Russia | G 2021 | G 2019 | S 2020 | S 2018 | S 2017 | ||
Harris Leung | Hong Kong | G 2021 | G(III) 2020 | S 2019 | B 2018 | B 2017 | ||
Zixiang Zhou | Canada | G 2022 | G 2021 | G 2020 | G(III) 2019 | S 2018 | ||
Wolfgang Thaller | Austria | G 1997 | G 1996 | S 1999 | S 1998 | |||
Andrzej Gąsienica-Samek | Poland | G 1999 | G 1998 | G 1997 | S 1996 | |||
Martin Pettai | Estonia | G 2002 | G 2001 | G 2000 | S 1999 | |||
Alex Schwendner | United States | G 2005 | G 2003 | S 2004 | S 2002 | |||
Filip Wolski | Poland | G(I) 2006 | G 2005 | G 2004 | G 2003 | |||
Goran Žužić | Croatia | G 2008 | G 2007 | S 2009 | B 2006 | |||
Vlad Alexandru Gavrilă | Romania | G 2013 | G 2012 | S 2011 | B 2010 | |||
Eduard Batmendijn | Slovakia | G 2015 | G 2013 | G 2012 | S 2014 | |||
Rareș Darius Buhai | Romania | G 2015 | G 2014 | G 2013 | G 2012 | |||
Yuta Takaya | Japan | G(I) 2017 | G 2016 | G 2015 | G 2014 | |||
Nikoloz Birkadze | Georgia | G 2020 | G 2019 | G 2018 | S 2017 | |||
Dorijan Lendvaj | Croatia | G 2022 | G 2021 | S 2020 | B 2019 | |||
Patrick Pavić | Croatia | G 2022 | G 2021 | G 2020 | S 2019 | |||
Fredrik Huss | Sweden | GP(I) 1993 | GP(I) 1992 | S 1991 | ||||
Martin Mareš | Czech Republic | G 1995 | G 1994 | GP(I) 1993 | ||||
Vladimir Martianov | Russia | G 1999 | GP(I) 1998 | G(I) 1997 | ||||
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 | ||||
Scott Wu | United States | GP(I) 2014 | G 2013 | G 2012 | ||||
Jarosław Kwiecień | Poland | G 2016 | G 2015 | G 2014 | ||||
Vladimir Romanov | Russia | G 2019 | G 2018 | G 2017 | ||||
Masataka Yoneda | Japan | G 2020 | G 2019 | GU 2018 | ||||
Daiki Kodama | Japan | G 2023 | G 2022 | G 2021 |
Feeder competitions
[edit]Most participating countries use feeder competitions to select their team. A number of these are listed below:
- The participants of which are chosen from the Canadian Computing Competition
- Central European Olympiad in Informatics
- Indian Computing Olympiad
- National Olympiad in Informatics
- National Olympiad in Informatics, China
- Ro:Olimpiada Națională de Informatică[66]
- NL:Nederlandse Informatica Olympiade[67]
- Es:Olimpiada Mexicana de Informática
- South African Computer Olympiad
- Syrian Olympiad in Informatics
- Turkish Informatics Olympiad
- United States of America Computing Olympiad
- Moroccan Olympiad in Informatics
- All Ireland Programming Olympiad
- Indonesian Olympiad in Informatics
- Egyptian Olympiad in Informatics
- National Olympiad in Informatics - Philippines[68]
- Bundeswettbewerb Informatik - Germany
- Vietnamese Olympiad in Informatics
Notes
[edit]- 1.^a IOI 2020 virtual closing ceremony was held on September 23, 2020.
See also
[edit]- List of computer science awards
- International Science Olympiad
- ACM International Collegiate Programming Contest
- Central European Olympiad in Informatics
- Online judge
- International Mathematical Olympiad
References
[edit]- ^ Jump up to: a b Robson, Frank (10 August 2013). "Numbers game". The Sydney Morning Herald. Retrieved 17 August 2013.
- ^ Jump up to: a b "Minutes of the Meetings held in Kazan, Russian Federation" (PDF). ioinformatics.org. General Assembly of International Olympiad in Informatics. 19 August 2016. pp. 7, 11.
- ^ Maggiolo, Stefano (2015). "An Update on the Female Presence at the IOI" (PDF). Olympiads in Informatics. 9, 127–137 (2015). London, U.K.: ioinformatics.org: 127–137. doi:10.15388/ioi.2015.10. Retrieved 13 July 2017.
- ^ "Zhezheng Luo". stats.ioinformatics.org.
- ^ 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).
- ^ "IOI 2017: Results". stats.ioinformatics.org.
- ^ "General Assembly Minutes of the Meetings held in Almaty, Kazakhstan 26 July – 2 August, 2015" (PDF).
- ^ "Number of Participants". ioi2022.id.
- ^ "IOI 1989 Results".
- ^ "IOI 1990 Results".
- ^ "IOI 1991 Results".
- ^ "IOI 1992 Results".
- ^ "IOI 1993 Results".
- ^ "IOI 1993 Website". ioi1993.
- ^ "IOI 1994 Results".
- ^ "IOI 1994 Website". ioi1994.
- ^ "IOI 1995 Results".
- ^ "IOI 1996 Results".
- ^ "IOI 1997 Results".
- ^ "IOI 1998 Results".
- ^ "IOI 1999 Results".
- ^ "IOI 2000 Results".
- ^ "IOI 2001 Results".
- ^ "IOI 2002 Results".
- ^ "IOI 2003 Results".
- ^ "IOI 2004 Results".
- ^ "IOI 2005 Results".
- ^ "IOI 2005 Website". ioi2005.
- ^ "IOI 2006 Results".
- ^ "IOI 2007 Results".
- ^ "IOI 2007 Website". ioi2007.
- ^ "IOI 2008 Results".
- ^ "IOI 2009 Results".
- ^ "IOI 2009 Website". ioi2009.org.
- ^ "IOI 2010 Results".
- ^ "IOI 2010 Website". ioi2010.org.
- ^ "IOI 2011 Results".
- ^ "IOI 2011 Website". ioi2011.
- ^ "IOI 2012 Results".
- ^ "IOI 2012 Website". ioi2012.org.
- ^ "IOI 2013 Results".
- ^ "IOI 2013 Website". ioi2013.org.
- ^ "IOI 2014 Results".
- ^ "IOI 2014 Website". ioi2014.org.
- ^ "IOI 2015 Results".
- ^ "IOI 2015 Website". ioi2017.kz.
- ^ "IOI 2016 Results".
- ^ "IOI 2016 Website". ioi2016.ru.
- ^ "IOI 2017 Results".
- ^ "IOI 2017 Website". ioi2017.org.
- ^ "IOI 2018 Results".
- ^ "IOI 2018 Website". ioi2018.jp.
- ^ "IOI 2019 Results".
- ^ "IOI 2019 Website". ioi2019.az.
- ^ "IOI 2020 Results".
- ^ "IOI 2020 Website". ioi2020.sg.
- ^ "IOI 2021 Results".
- ^ "IOI 2021 Website". ioi2021.sg.
- ^ "IOI 2022 Results".
- ^ "IOI 2022 Website". ioi2022.id.
- ^ "IOI 2023 Results".
- ^ "IOI 2023 Website". ioi2023.hu.
- ^ "IOI 2024 Website". ioi2024.eg.
- ^ "IOI 2025 Website". ioi2025.bo.
- ^ "Hall of Fame". stats.ioinformatics.org.
- ^ http://olimpiada.info/Romanian National Informatics Olympiad Archived 2019-06-24 at the Wayback Machine
- ^ "Informatica Olympiade".
- ^ "Home — NOI.PH".