The logo of the 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.

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

The competition room at the IOI 2006
Front
In front of the competition room at the IOI 2007

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 to increscent female participants at IOI and other Informatics Olympiads.

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.: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, students from Israel can only participate as individuals under the IOI flag but not as a national delegation from IOI 2025 onwards. Over two thirds of the delegations voted in favour of the sanction in the IOI General Assembly.

Members

Former members

Summary

NumberYearDatesHost countryHost cityAbsolute WinnerScoreResultsWebsite
11989May 16–19Bulgaria BulgariaPravetzTeodor Tonchev (Bulgaria)100/100
21990July 15–21Byelorussian Soviet Socialist Republic Belarus, Soviet UnionMinskTsvetomir Petrov (Bulgaria)160/200
31991May 19–25Greece GreeceAthensIgor Maly (Czechoslovakia)196/200
41992July 11–21Germany GermanyBonnBom 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
51993October 16–25Argentina ArgentinaMendozaFredrik Huss (Sweden), Martin Mareš (Czech Republic), Mehdi Foladgar (Iran), Radu-Lucian Lupsa (Romania)200/200
61994July 3–10Sweden SwedenHaningeVictor Bargatchev (Russia)195/200
71995June 26 – July 3Netherlands NetherlandsEindhovenVictor Bargatchev (Russia)186/200
81996July 25 – August 2Hungary HungaryVeszprémDaniel Kráľ (Czech Republic)196/200
91997November 30 – December 7South Africa South AfricaCape TownVladimir Martianov (Russia)462/600
101998September 5–12Portugal PortugalSetúbalDaniel Wright (South Africa), Mihai Stroe (Romania), Vladimir Martianov (Russia), Zhunping Zhang (China)700/700
111999October 9–16Turkey TurkeyAntalya-BelekHong Chen (China)480/600
122000September 23–30China ChinaBeijingMikhail Baoutine (Russia)700/700
132001July 14–21Finland FinlandTampereReid Barton (United States of America)580/600
142002August 18–25South Korea Korea Rep.Yong-InWan Yeong Jung (Republic of Korea)510/600
152003August 16–23United States United StatesKenosha, WisconsinHwan-Seung Yeo (Republic of Korea)455.4/600
162004September 11–18Greece GreeceAthensPaul Jefferys (United Kingdom)565/600
172005August 18–25Poland PolandNowy SączEric Price (United States of America), Weidong Hu (China), Yuan Zhou (China), Yuriy Znovyak (Ukraine)600/600
182006August 13–20Mexico MexicoMérida, YucatánFilip Wolski (Poland)480/600
192007August 15–22Croatia CroatiaZagrebTomasz Kulczyński (Poland)574/600
202008August 16–23Egypt EgyptCairoHuacheng Yu (China)558/600
212009August 8–15Bulgaria BulgariaPlovdivGennady Korotkevich (Belarus)743/800
222010August 14–21Canada CanadaWaterloo, OntarioGennady Korotkevich (Belarus)778/800
232011July 22–29Thailand ThailandPattayaGennady Korotkevich (Belarus)600/600
242012September 23–30Italy ItalySirmione and MontichiariJohnny Ho (United States of America)600/600
252013July 6–13Australia AustraliaBrisbaneLijie Chen (China)569/600
262014July 13–20Taiwan TaiwanTaipeiIshraq Huda (Australia), Scott Wu (United States of America), Yinzhan Xu (China)600/600
272015July 26 – August 2Kazakhstan KazakhstanAlmatyJeehak Yoon (Republic of Korea)600/600
282016August 12–19Russia RussiaKazanCe Jin (China)597/600
292017July 28 – August 4Iran IranTehranYuta Takaya (Japan)589.52/600
302018September 1–8Japan JapanTsukubaBenjamin Qi (United States of America)499/600
312019August 4–11Azerbaijan AzerbaijanBakuBenjamin Qi (United States of America)547.09/600
322020September 13–19aSingapore SingaporeonlineWilliam Lin (United States of America)600/600
332021June 19–25Singapore SingaporeonlineMingyang Deng (China)600/600
342022August 7–15Indonesia IndonesiaYogyakartaJiangqi Dai (China), Shaoxuan Tang (China)600/600
352023August 28 – September 4Hungary HungarySzegedTingqiang Xu (China)580/600
362024September 1–8Egypt EgyptAlexandriaKangyang Zhou (China)600/600
372025July 27 – August 3Bolivia BoliviaSucreHengxi Liu (China)591.23/600
382026August 9–16Uzbekistan UzbekistanTashkent
392027September 12–19Germany GermanyPotsdam
402028Japan Japan
412029Bulgaria Bulgaria

All-time medal table

As of 2025
RankNationGoldSilverBronzeTotal
1China (CHN)1062812146
2United States (USA)694117127
3Russia (RUS)684012120
4South Korea (KOR)535028131
5Poland (POL)455436135
6Romania (ROU)386037135
7Japan (JPN)38331081
8Iran (IRN)336925127
9Bulgaria (BGR)295745131
10Taiwan (TWN)266430120
Totals (10 entries)5054962521,253

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.

NameTeamYears
Gennady KorotkevichBelarusG(II) 2012GP(I) 2011G(I) 2010G(I) 2009G 2008G 2007S 2006
Hristo VenevBulgariaG 2016G 2015G 2014G 2013S 2012
Rain JiangUnited StatesG 2025G 2024G 2023G 2021S 2022
Zixiang ZhouCanadaG 2022G 2021G 2020G(III) 2019S 2018
Filip WolskiPolandG(I) 2006G 2005G 2004G 2003
Rareș Darius BuhaiRomaniaG 2015G 2014G 2013G 2012
Yuta TakayaJapanG(I) 2017G 2016G 2015G 2014
Rumen HristovBulgariaG 2012G 2011G(II) 2010S 2009S 2008
Andrzej Gąsienica-SamekPolandG 1999G 1998G 1997S 1996
Eduard BatmendijnSlovakiaG 2015G 2013G 2012S 2014
Martin PettaiEstoniaG 2002G 2001G 2000S 1999
Nikoloz BirkadzeGeorgiaG 2020G 2019G 2018S 2017
Patrick PavićCroatiaG 2022G 2021G 2020S 2019
Ryan BaiCanadaG 2025G 2024G 2023S 2022
Daiki KodamaJapanG 2023G 2022G 2021
Daniel WeberIsraelG 2024G 2023G 2022
Jarosław KwiecieńPolandG 2016G 2015G 2014
John PardonUnited StatesG 2007G 2006G 2005
Marcin AndrychowiczPolandG 2008G 2007G 2006
Martin MarešCzech RepublicG 1995G 1994GP(I) 1993
Masataka YonedaJapanG 2020G 2019GU 2018
Neal WuUnited StatesG 2010G 2009G 2008
Scott WuUnited StatesGP(I) 2014G 2013G 2012
Shogo MuraiJapanG 2012G 2011G 2010
Vladimir MartianovRussiaG 1999GP(I) 1998G(I) 1997
Vladimir RomanovRussiaG 2019G 2018G 2017

Feeder competitions

Most participating countries use feeder competitions to select their team. They are usually referred to as National Olympiad in Informatics and is the course of selection of the country's top team or persons to participate in the IOI. 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, China[zh]
  • Olimpiada Națională de Informatică[ro]
  • Nederlandse Informatica Olympiade[nl]
  • Olimpiada Mexicana de Informática[es]
  • South African Computer Olympiad
  • Syrian Olympiad in Informatics
  • 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
  • Bundeswettbewerb Informatik[de] - Germany
  • Vietnamese Olympiad in Informatics[vi]
  • Thailand Olympiad in Informatics (TOI)

Notes

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

See also

External links