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.
Each country sends a team of up to four students, plus one team leader, one deputy leader, and guests. 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 contest consists of two days of solving six complicated algorithmic tasks by writing computer programs in C++. All task materials are published on each year's contest website soon after the competition ends.
Competition structure and participation
On each of the two competition days, the competitors are typically given three problems which they have to solve in five hours. Each student works on their own to solve the problems with no outside help, specifically no communication with other contestants, books, web access, etc. Contestants are typically allowed to bring non-programmable wired keyboards and mice. Usually to solve a task the contestant has to write a computer program (in C++) and submit it before the five-hour competition time ends. The program is graded based on secret test data. Since 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 (a.k.a. interactive problems). Another type of problem has the inputs publicly available, 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.: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. Medals are awarded 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, 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. 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." The European Girls’ Olympiad in Informatics (EGOI), which was first held in 2021, was started with the goal of increasing female participation at IOI and other Informatics Olympiads.
At the 2017 competition held in Iran, the Israeli team was initially not allowed to compete. After Israel appealed, Innopolis University (Russian Federation) offered to host the Israeli team offsite.:11 Due to visa issues, the full USA team was unable to attend, although one contestant Zhezheng Luo was able to attend by traveling with the Chinese team and winning gold medal and 3rd place in standings.
In IOI 2019 held in Azerbaijan, the Armenia team did not participate due to the dispute between the two countries, despite the guarantees provided 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.
In response to the invasion of Ukraine, students from Russia and Belarus can only participate as individuals under the IOI flag but not as national delegations starting from IOI 2022, and they would only participate online for IOI 2022. From 2023 onwards they would participate in person, but under the IOI flag.
In response to the conflict and humanitarian crisis in Gaza, over two thirds of the delegations voted to sanction Israel so that starting with IOI 2025, Israeli students can only participate as individuals under the IOI flag rather as a national delegation.
At the 2026 IOI in Tashkent, Yotam Budnik, a student from Israel, won a gold medal but was disqualified after displaying an Israeli flag during the awards ceremony, which violated the sanctions introduced in 2024. His result was removed from the official rankings and his certificate was revoked. Budnik said that he wanted to protest the restrictions imposed on Israeli contestants, which he considered unfair, and that he believed politics should not be involved in a computer science competition.
Members
Former members
Summary Number Year Dates Host country Host city Absolute WinnerScore Results Website 1 1989 May 16–19 Bulgaria Pravetz Teodor Tonchev (Bulgaria)100/100 2 1990 July 15–21 Belarus, Soviet Union Minsk Tsvetomir Petrov (Bulgaria)160/200 3 1991 May 19–25 Greece Athens Igor Maly (Czechoslovakia)196/200 4 1992 July 11–21 Germany Bonn Bom Jun Kim (Republic of Korea), Fredrik Huss (Sweden), Gao Chen (China), Jittat Fakcharoenphol (Thailand), Laszlo Peter (Hungary), Matej Ondrusek (Czechoslovakia), Nathan Bronson (United States of America), Pinit Asavanuchit (Thailand), Shawn Smith (United States of America), Viet Nguyen Tuan (Vietnam), Xing Wu (China), Yunhe Yang (China), Niklas Eén (Sweden)200/200 5 1993 October 16–25 Argentina Mendoza Fredrik Huss (Sweden), Martin Mareš (Czech Republic), Mehdi Foladgar (Iran), Radu-Lucian Lupsa (Romania)200/200 6 1994 July 3–10 Sweden Haninge Victor Bargatchev (Russia)195/200 7 1995 June 26 – July 3 Netherlands Eindhoven Victor Bargatchev (Russia)186/200 8 1996 July 25 – August 2 Hungary Veszprém Daniel Kráľ (Czech Republic)196/200 9 1997 November 30 – December 7 South Africa Cape Town Vladimir Martianov (Russia)462/600 10 1998 September 5–12 Portugal Setúbal Daniel Wright (South Africa), Mihai Stroe (Romania), Vladimir Martianov (Russia), Zhunping Zhang (China)700/700 11 1999 October 9–16 Turkey Antalya-Belek Hong Chen (China)480/600 12 2000 September 23–30 China Beijing Mikhail Baoutine (Russia)700/700 13 2001 July 14–21 Finland Tampere Reid Barton (United States of America)580/600 14 2002 August 18–25 Korea Rep. Yong-In Wan Yeong Jung (Republic of Korea)510/600 15 2003 August 16–23 United States Kenosha, Wisconsin Hwan-Seung Yeo (Republic of Korea)455.4/600 16 2004 September 11–18 Greece Athens Paul Jefferys (United Kingdom)565/600 17 2005 August 18–25 Poland Nowy Sącz Eric Price (United States of America), Weidong Hu (China), Yuan Zhou (China), Yuriy Znovyak (Ukraine)600/600 18 2006 August 13–20 Mexico Mérida, Yucatán Filip Wolski (Poland)480/600 19 2007 August 15–22 Croatia Zagreb Tomasz Kulczyński (Poland)574/600 20 2008 August 16–23 Egypt Cairo Huacheng Yu (China)558/600 21 2009 August 8–15 Bulgaria Plovdiv Gennady Korotkevich (Belarus)743/800 22 2010 August 14–21 Canada Waterloo, Ontario Gennady Korotkevich (Belarus)778/800 23 2011 July 22–29 Thailand Pattaya Gennady Korotkevich (Belarus)600/600 24 2012 September 23–30 Italy Sirmione and Montichiari Johnny Ho (United States of America)600/600 25 2013 July 6–13 Australia Brisbane Lijie Chen (China)569/600 26 2014 July 13–20 Taiwan Taipei Ishraq Huda (Australia), Scott Wu (United States of America), Yinzhan Xu (China)600/600 27 2015 July 26 – August 2 Kazakhstan Almaty Jeehak Yoon (Republic of Korea)600/600 28 2016 August 12–19 Russia Kazan Ce Jin (China)597/600 29 2017 July 28 – August 4 Iran Tehran Yuta Takaya (Japan)589.52/600 30 2018 September 1–8 Japan Tsukuba Benjamin Qi (United States of America)499/600 31 2019 August 4–11 Azerbaijan Baku Benjamin Qi (United States of America)547.09/600 32 2020 September 13–19 Singapore online William Lin (United States of America)600/600 33 2021 June 19–25 Singapore online Mingyang Deng (China)600/600 34 2022 August 7–15 Indonesia Yogyakarta Jiangqi Dai (China), Shaoxuan Tang (China)600/600 35 2023 August 28 – September 4 Hungary Szeged Tingqiang Xu (China)580/600 36 2024 September 1–8 Egypt Alexandria Kangyang Zhou (China)600/600 37 2025 July 27 – August 3 Bolivia Sucre Hengxi Liu (China)591.23/600 38 2026 August 9–16 Uzbekistan Tashkent Qiwen Xu (China)498.27/600 39 2027 September 12–19 Germany Potsdam 40 2028 September 3–9 Japan Shibuya 41 2029 Bulgaria 42 2030 Macao
All-time medal table Top
All https://stats.ioinformatics.org/countries/
Since 1989 to 2026:
In almost every edition, the top 10% of participants receive gold, the next 20% receive silver, and the next 30% receive bronze.
Top Performances
The following is a list of the top performers in the history of the IOI, with the list containing any contestant with at least 3 gold medals. 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 Hristo Venev Bulgaria G 2016 G 2015 G 2014 G 2013 S 2012 Rain Jiang United States G 2025 G 2024 G 2023 G 2021 S 2022 Zixiang Zhou Canada G 2022 G 2021 G 2020 G(III) 2019 S 2018 Filip Wolski Poland G(I) 2006 G 2005 G 2004 G 2003 Rareș Darius Buhai Romania G 2015 G 2014 G 2013 G 2012 Yuta Takaya Japan G(I) 2017 G 2016 G 2015 G 2014 Rumen Hristov Bulgaria G 2012 G 2011 G(II) 2010 S 2009 S 2008 Andrzej Gąsienica-Samek Poland G 1999 G 1998 G 1997 S 1996 Eduard Batmendijn Slovakia G 2015 G 2013 G 2012 S 2014 Martin Pettai Estonia G 2002 G 2001 G 2000 S 1999 Nikoloz Birkadze Georgia G 2020 G 2019 G 2018 S 2017 Patrick Pavić Croatia G 2022 G 2021 G 2020 S 2019 Ryan Bai Canada G 2025 G 2024 G 2023 S 2022 Daiki Kodama Japan G 2023 G 2022 G 2021 Daniel Weber Israel G 2024 G 2023 G 2022 Jarosław Kwiecień Poland G 2016 G 2015 G 2014 John Pardon United States G 2007 G 2006 G 2005 Marcin Andrychowicz Poland G 2008 G 2007 G 2006 Martin Mareš Czech Republic G 1995 G 1994 GP(I) 1993 Masataka Yoneda Japan G 2020 G 2019 GU 2018 Neal Wu United States G 2010 G 2009 G 2008 Scott Wu United States GP(I) 2014 G 2013 G 2012 Shogo Murai Japan G 2012 G 2011 G 2010 Vladimir Martianov Russia G 1999 GP(I) 1998 G(I) 1997 Vladimir Romanov Russia G 2019 G 2018 G 2017
Feeder competitions