International Olympiad in Informatics

Last updated
The logo of the International Olympiad in Informatics InternationalOlympiadInInformatics.png
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. 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.

Contents

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

The competition room at the IOI 2006 IOI 2006 competition room.png
The competition room at the IOI 2006
IOI 2006 bronze medal (front).jpg
Front
IOI 2006 bronze medal (back).jpg
Back
A bronze medal from IOI 2006 in Mexico
In front of the competition room at the IOI 2007 IOI Zagreb 1.JPG
In front of the competition room at the IOI 2007

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]

Summary

NumberYearDatesHost countryHost cityResultsWebsite
11989May 16–19 Flag of Bulgaria (1971-1990).svg Bulgaria Pravetz [9]
21990July 15–21 Flag of the Byelorussian Soviet Socialist Republic (1951-1991).svg Belarus, Soviet Union Minsk [10]
31991May 19–25 Flag of Greece.svg Greece Athens [11]
41992July 11–21 Flag of Germany.svg Germany Bonn [12]
51993October 16–25 Flag of Argentina.svg Argentina Mendoza [13] [14]
61994July 3–10 Flag of Sweden.svg Sweden Haninge [15] [16]
71995June 26 – July 3 Flag of the Netherlands.svg Netherlands Eindhoven [17]
81996July 25 – August 2 Flag of Hungary.svg Hungary Veszprém [18]
91997November 30 – December 7 Flag of South Africa.svg South Africa Cape Town [19]
101998September 5–12 Flag of Portugal.svg Portugal Setúbal [20]
111999October 9–16 Flag of Turkey.svg Turkey Antalya-Belek [21]
122000September 23–30 Flag of the People's Republic of China.svg China Beijing [22]
132001July 14–21 Flag of Finland.svg Finland Tampere [23]
142002August 18–25 Flag of South Korea.svg Korea Rep. Yong-In [24]
152003August 16–23 Flag of the United States.svg United States Kenosha, Wisconsin [25]
162004September 11–18 Flag of Greece.svg Greece Athens [26]
172005August 18–25 Flag of Poland.svg Poland Nowy Sącz [27] [28]
182006August 13–20 Flag of Mexico.svg Mexico Mérida, Yucatán [29]
192007August 15–22 Flag of Croatia.svg Croatia Zagreb [30] [31]
202008August 16–23 Flag of Egypt.svg Egypt Cairo [32]
212009August 8–15 Flag of Bulgaria.svg Bulgaria Plovdiv [33] [34]
222010August 14–21 Flag of Canada (Pantone).svg Canada Waterloo, Ontario [35] [36]
232011July 22–29 Flag of Thailand.svg Thailand Pattaya [37] [38]
242012September 23–30 Flag of Italy.svg Italy Sirmione and Montichiari [39] [40]
252013July 6–13 Flag of Australia (converted).svg Australia Brisbane [41] [42]
262014July 13–20 Flag of the Republic of China.svg Taiwan Taipei [43] [44]
272015July 26 – August 2 Flag of Kazakhstan.svg Kazakhstan Almaty [45] [46]
282016August 12–19 Flag of Russia.svg Russia Kazan [47] [48]
292017July 28 – August 4 Flag of Iran.svg Iran Tehran [49] [50]
302018September 1–8 Flag of Japan.svg Japan Tsukuba [51] [52]
312019August 4–11 Flag of Azerbaijan.svg Azerbaijan Baku [53] [54]
322020September 13–19 a Flag of Singapore.svg Singapore online [55] [56]
332021June 19–25 Flag of Singapore.svg Singapore online [57] [58]
342022August 7–15 Flag of Indonesia.svg Indonesia Yogyakarta [59] [60]
352023August 28 – September 4 Flag of Hungary.svg Hungary Szeged [61] [62]
362024September 1–8 Flag of Egypt.svg Egypt Alexandria [63]
372025 Bandera de Bolivia (Estado).svg Bolivia La Paz [64]
382026 Flag of Uzbekistan.svg Uzbekistan

All-time medal table

As of 2023
RankNationGoldSilverBronzeTotal
1Flag of the People's Republic of China.svg  China  (CHN)1002712139
2Flag of Russia.svg  Russia  (RUS)684012120
3Flag of the United States.svg  United States  (USA)653816119
4Flag of South Korea.svg  South Korea  (KOR)484728123
5Flag of Poland.svg  Poland  (POL)425035127
6Flag of Japan.svg  Japan  (JPN)35281073
7Flag of Romania.svg  Romania  (ROU)335836127
8Flag of Iran.svg  Iran  (IRN)316523119
9Flag of Bulgaria.svg  Bulgaria  (BGR)275145123
10Flag of the Republic of China.svg  Taiwan  (TWN)256127113
Totals (10 entries)4744652441183

Multiple IOI winners

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.

NameTeamYears
Gennady Korotkevich BelarusG(II) 2012GP(I) 2011G(I) 2010G(I) 2009G 2008G 2007S 2006
Bruce MerrySouth AfricaG 2001G 2000S 1999B 1998B 1997B 1996
Rumen HristovBulgariaG 2012G 2011G(II) 2010S 2009S 2008
Hristo VenevBulgariaG 2016G 2015G 2014G 2013S 2012
Encho MishinevBulgariaG 2017G 2014S 2016S 2015S 2013
Egor LifarRussiaG 2021G 2019S 2020S 2018S 2017
Harris LeungHong KongG 2021G(III) 2020S 2019B 2018B 2017
Zixiang ZhouCanadaG 2022G 2021G 2020G(III) 2019S 2018
Wolfgang ThallerAustriaG 1997G 1996S 1999S 1998
Andrzej Gąsienica-SamekPolandG 1999G 1998G 1997S 1996
Martin PettaiEstoniaG 2002G 2001G 2000S 1999
Alex SchwendnerUnited StatesG 2005G 2003S 2004S 2002
Filip WolskiPolandG(I) 2006G 2005G 2004G 2003
Goran ŽužićCroatiaG 2008G 2007S 2009B 2006
Vlad Alexandru GavrilăRomaniaG 2013G 2012S 2011B 2010
Eduard BatmendijnSlovakiaG 2015G 2013G 2012S 2014
Rareș Darius BuhaiRomaniaG 2015G 2014G 2013G 2012
Yuta TakayaJapanG(I) 2017G 2016G 2015G 2014
Nikoloz BirkadzeGeorgiaG 2020G 2019G 2018S 2017
Dorijan LendvajCroatiaG 2022G 2021S 2020B 2019
Patrick PavićCroatiaG 2022G 2021G 2020S 2019
Fredrik HussSwedenGP(I) 1993GP(I) 1992S 1991
Martin MarešCzech RepublicG 1995G 1994GP(I) 1993
Vladimir MartianovRussiaG 1999GP(I) 1998G(I) 1997
John Pardon United StatesG 2007G 2006G 2005
Marcin AndrychowiczPolandG 2008G 2007G 2006
Neal WuUnited StatesG 2010G 2009G 2008
Shogo MuraiJapanG 2012G 2011G 2010
Scott WuUnited StatesGP(I) 2014G 2013G 2012
Jarosław KwiecieńPolandG 2016G 2015G 2014
Vladimir RomanovRussiaG 2019G 2018G 2017
Masataka YonedaJapanG 2020G 2019GU 2018
Daiki KodamaJapanG 2023G 2022G 2021

Feeder competitions

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

Notes

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

See also

Related Research Articles

<span class="mw-page-title-main">International Mathematical Olympiad</span> Mathematical olympiad for pre-university students

The International Mathematical Olympiad (IMO) is a mathematical olympiad for pre-university students, and is the oldest of the International Science Olympiads. It is “the most prestigious” mathematical competition in the world. The first IMO was held in Romania in 1959. It has since been held annually, except in 1980. More than 100 countries participate. Each country sends a team of up to six students, plus one team leader, one deputy leader, and observers.

<span class="mw-page-title-main">International Collegiate Programming Contest</span> Worldwide competitive programming contest for university students

The International Collegiate Programming Contest, known as the ICPC, is an annual multi-tiered competitive programming competition among the universities of the world. Directed by ICPC Executive Director and Baylor Professor William B. Poucher, the ICPC operates autonomous regional contests covering six continents culminating in a global World Finals every year. In 2018, ICPC participation included 52,709 students from 3,233 universities in 110 countries.

Hong Kong Olympiad in Informatics is an annual programming competition for secondary school students in Hong Kong, emphasizing on problem solving techniques and programming skills. It is co-organized by the Hong Kong Association for Computer Education (HKACE) and the Hong Kong Education Bureau (EDB). It serves as a preliminary contest to international, national and regional competitions such as the China National Olympiad in Informatics (NOI) and the International Olympiad in Informatics (IOI). The first HKOI was held in 1997.

The Canadian Computing Competition (CCC) is an annual programming competition for secondary school students in Canada, organized by the Centre for Education in Mathematics and Computing at the University of Waterloo. Stage 1 is written at high schools and can be written in the programming language of the students' choice, with only a few, such as Maple and Mathematica, disallowed. There are two levels of problems presented, Junior and Senior. The top 20 students in the Senior division are invited to the University of Waterloo to participate in Stage 2, the Canadian Computing Olympiad (CCO). CCO participants are restricted to languages permitted at the IOI, which currently includes only Java, C and C++.. The CCO is used to select students to represent Canada at the IOI.

The United States of America Computing Olympiad (USACO) is an online computer programming competition, which serves as qualification for the International Olympiad in Informatics (IOI) in the United States of America. Primarily for secondary school students in the United States, the USACO offers four competitions during the academic year. Participants compete in four increasingly difficult divisions, each of which is provided a distinct set of 3 solvable competitive programming problems during each contest. Coding & submitting computer programs can be done in one of four languages: C, C++, Java, and Python. Competitors begin in the Bronze division, and advance through the levels by performing well in their current division.

The Central European Olympiad in Informatics (CEOI) is an annual informatics competition for secondary school students. Each of the participating central European countries (plus one or two guest countries, and a local team from the host area) sends a team of up to four contestants, a team leader and a deputy team leader. The contestants compete individually, i.e. a team score is not calculated. Competitors are selected through national competitive programming contests.

<span class="mw-page-title-main">British Informatics Olympiad</span>

The British Informatics Olympiad (BIO) is an annual computer-programming competition for secondary and sixth-form students. Any student under 19 who is in full-time pre-university education and resident in mainland Britain is eligible to compete. The competition is composed of two rounds - a preliminary 3-question, 3-hour exam paper sat at the participant's school and a final round. The top-15 performing students each year are invited to the finals where they attempt to solve several more difficult problems, some written, some involving programming. Typically a score of 75 to 90 out of 100 is required on the first round of the competition to reach the final.

The South African Computing Olympiad (SACO) is an annual computer programming competition for secondary school students in South Africa. The South African team for the International Olympiad in Informatics is selected through it.

The Indian Computing Olympiad is an annual computer programming competition that selects four participants to represent India at the International Olympiad in Informatics. ICO is conducted by the Indian Association for Research in Computing Science. The competition is held in three stages. For the first stage, students may compete in the Zonal Computing Olympiad, or the Zonal Informatics Olympiad. The following two rounds are the Indian National Olympiad in Informatics and the International Olympiad in Informatics Training Camp.

This article describes the selection process, by country, for entrance into the International Mathematical Olympiad.

The HNUE High School for Gifted Students, commonly known as HNUE High School, is a public magnet school in Hanoi, Vietnam. The school was founded in 1966 as a national educational institution to nurture Vietnamese students who excelled at mathematics. HNUE High School is the second oldest magnet high school in Vietnam and one of the seven national-level high schools for the gifted.

The North American Computational Linguistics Open competition (NACLO), formerly called the North American Computational Linguistics Olympiad before January 1, 2020, is a computational linguistics competition for high school students in the United States and Canada that has been held since 2007. For the 2021 Open competition, approximately 1300 to 1400 students competed. Since 2008 the contest has consisted of two rounds, the second being administered to the top scorers in the first round. The top-scoring students on the second round qualify for the International Linguistics Olympiad (IOL), one of the international science olympiads.

<span class="mw-page-title-main">Petr Mitrichev</span> Russian sport programmer

Petr Mitrichev is a Russian competitive programmer who has won multiple major international competitions. His accomplishments include gold and silver (2001) medals in the IOI, gold medals in the ACM ICPC World Finals as part of the team of Moscow State University and winning Google Code Jam (2006), the Topcoder Open, the Topcoder Collegiate Challenge, Facebook Hacker Cup as well as numerous national and online contests. He has achieved the highest rating ever among the Algorithm competitors of Topcoder and consistently ranks in the top two of the world. He is the second highest rated Algorithm coder on Topcoder ratings as of February 2021. He currently works at Google on the search engine and helps to prepare Code Jam.

<span class="mw-page-title-main">Competitive programming</span> Mind sport

Competitive programming is a mind sport involving participants trying to program according to provided specifications. The contests are usually held over the Internet or a local network. Contestants are referred to as sport programmers. Competitive programming is recognized and supported by several multinational software and Internet companies, such as Google and Facebook.

The European Girls' Mathematical Olympiad (EGMO) is a mathematical olympiad for girls which started in 2012, and is held in April each year. It was inspired by the China Girls Mathematical Olympiad (CGMO). Although the competition is held in Europe, it is open to female participants from all over the world, and is considered the most prestigious mathematics competition for girls. In recent years, participants from around 55 countries have been invited to the competition.

<span class="mw-page-title-main">Gennady Korotkevich</span> Belarusian competitive programmer (born 1994)

Gennady Korotkevich is a Belarusian competitive programmer who has won major international competitions since the age of 11, as well as numerous national competitions. His top accomplishments include six consecutive gold medals in the International Olympiad in Informatics as well as the world championship in the 2013 and 2015 International Collegiate Programming Contest World Finals. As of October 2023, Gennady is the highest-rated programmer on Codeforces, CodeChef, Topcoder, AtCoder and HackerRank. In January 2022, he achieved a historic rating of 3979 on Codeforces, becoming the first to break the 3900 barrier.

<span class="mw-page-title-main">CodeChef</span> Global competitive programming platform

CodeChef is an online educational and competitive programming platform. CodeChef started as an educational initiative in 2009 by Directi, an Indian software company. In 2020, it was purchased by Unacademy.

Codeforces is a website that hosts competitive programming contests. It is maintained by a group of competitive programmers from ITMO University led by Mikhail Mirzayanov. Since 2013, Codeforces claims to surpass Topcoder in terms of active contestants. As of 2019, it has over 600,000 registered users. Codeforces along with other similar websites are used by some sport programmers, like Gennady Korotkevich, Petr Mitrichev, Benjamin Qi and Makoto Soejima, and by other programmers interested in furthering their careers.

Makoto Soejima is a Japanese former competitive programmer. He is one of three people to have won both the Google Code Jam and the Facebook Hacker Cup and the only one to have also won a gold medal with a perfect score at the International Mathematical Olympiad (IMO). In International Science Olympiads, he has won three gold medals and one bronze in the International Mathematical Olympiad as well as two silver medals in the International Olympiad in Informatics (IOI).

The Romanian Olympiad in Informatics is an annual competitive programming contest for secondary school students in Romania. It gathers about 300 high-school students and about 160 gymnasium students.

References

  1. 1 2 Robson, Frank (10 August 2013). "Numbers game". The Sydney Morning Herald . Retrieved 17 August 2013.
  2. 1 2 "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.
  3. Maggiolo, Stefano (2015). "An Update on the Female Presence at the IOI" (PDF). Olympiads in Informatics. London, U.K.: ioinformatics.org. 9, 127–137 (2015): 127–137. doi: 10.15388/ioi.2015.10 . Retrieved 13 July 2017.
  4. "Zhezheng Luo". stats.ioinformatics.org.
  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". stats.ioinformatics.org.
  7. "General Assembly Minutes of the Meetings held in Almaty, Kazakhstan 26 July – 2 August, 2015" (PDF).
  8. "Number of Participants". ioi2022.id.
  9. "IOI 1989 Results".
  10. "IOI 1990 Results".
  11. "IOI 1991 Results".
  12. "IOI 1992 Results".
  13. "IOI 1993 Results".
  14. "IOI 1993 Website". ioi1993.
  15. "IOI 1994 Results".
  16. "IOI 1994 Website". ioi1994.
  17. "IOI 1995 Results".
  18. "IOI 1996 Results".
  19. "IOI 1997 Results".
  20. "IOI 1998 Results".
  21. "IOI 1999 Results".
  22. "IOI 2000 Results".
  23. "IOI 2001 Results".
  24. "IOI 2002 Results".
  25. "IOI 2003 Results".
  26. "IOI 2004 Results".
  27. "IOI 2005 Results".
  28. "IOI 2005 Website". ioi2005.
  29. "IOI 2006 Results".
  30. "IOI 2007 Results".
  31. "IOI 2007 Website". ioi2007.
  32. "IOI 2008 Results".
  33. "IOI 2009 Results".
  34. "IOI 2009 Website". ioi2009.org.
  35. "IOI 2010 Results".
  36. "IOI 2010 Website". ioi2010.org.
  37. "IOI 2011 Results".
  38. "IOI 2011 Website". ioi2011.
  39. "IOI 2012 Results".
  40. "IOI 2012 Website". ioi2012.org.
  41. "IOI 2013 Results".
  42. "IOI 2013 Website". ioi2013.org.
  43. "IOI 2014 Results".
  44. "IOI 2014 Website". ioi2014.org.
  45. "IOI 2015 Results".
  46. "IOI 2015 Website". ioi2017.kz.
  47. "IOI 2016 Results".
  48. "IOI 2016 Website". ioi2016.ru.
  49. "IOI 2017 Results".
  50. "IOI 2017 Website". ioi2017.org.
  51. "IOI 2018 Results".
  52. "IOI 2018 Website". ioi2018.jp.
  53. "IOI 2019 Results".
  54. "IOI 2019 Website". ioi2019.az.
  55. "IOI 2020 Results".
  56. "IOI 2020 Website". ioi2020.sg.
  57. "IOI 2021 Results".
  58. "IOI 2021 Website". ioi2021.sg.
  59. "IOI 2022 Results".
  60. "IOI 2022 Website". ioi2022.id.
  61. "IOI 2023 Results".
  62. "IOI 2023 Website". ioi2023.hu.
  63. "IOI 2024 Website". ioi2024.eg.
  64. "IOI 2025 Website". ioi2025.bo.
  65. "Hall of Fame". stats.ioinformatics.org.
  66. http://olimpiada.info/Romanian National Informatics Olympiad Archived 2019-06-24 at the Wayback Machine
  67. "Informatica Olympiade".
  68. "Home — NOI.PH".