The International Olympiad in Informatics (IOI) is widely considered the top programming competition for high school students. First held in Bulgaria in 1989 after early support from UNESCO, the IOI is now hosted by a different country each year and includes students from over 90 countries, with the 2025 competition held in Bolivia.
This blog explains how the IOI works, including who can participate, how students qualify, and what skills are tested. It also covers IOI medals and awards, past winners, and how students prepare for high-level competitive programming.
- What Is the International Olympiad in Informatics (IOI)?
- International Olympiad in Informatics (IOI) Awards and Prizes
- How to Qualify for the International Olympiad in Informatics (IOI)
- How to Get into the International Olympiad in Informatics (IOI)
- How to Win the International Olympiad in Informatics (IOI)
- International Olympiad in Informatics (IOI) Previous Winners
- Frequently Asked Questions
- Takeaways
What Is the International Olympiad in Informatics (IOI)?
The International Olympiad in Informatics (IOI) is one of the most prestigious computer science competitions for secondary and high school students worldwide. It focuses on algorithmic problem solving, where students solve complex problems using advanced algorithms and data structures. The goal is to test how well students can turn ideas into correct and efficient code.
Each participating country sends a team of up to four students, selected through national competitions. Students compete over two days by solving informatics problems, while the remaining days are reserved for cultural and recreational activities. Although students compete individually, they represent their countries as part of a national team.
The IOI is one of several international science olympiads and was created to encourage interest in computing and information technology among young students. The 2026 IOI will be held in Tashkent, Uzbekistan, from August 9–16, 2026. Future host countries include Germany in 2027, Japan in 2028, and Bulgaria in 2029.
International Olympiad in Informatics (IOI) Awards and Prizes
After the contest ends, each student’s scores from both competition days are added together. At the award ceremony, medals are given based on their relative total score. At the IOI, no more than half of all contestants receive a medal, which makes earning any medal highly competitive.
|
Medal |
Who Receives It |
What It Means |
|
Gold Medal |
About one out of every twelve students | Highest total scores overall |
| Silver Medal | Enough students so gold and silver together include about one quarter of all contestants |
Next highest total scores |
|
Bronze Medal |
Enough students so about half of all contestants receive a medal |
Scores high enough to place in the top half |
Here’s the gist: Gold medals go to at least the top one-twelfth of all contestants. Silver medals are then awarded to the next group of students, so that gold and silver together account for about one quarter of all contestants. Bronze medals are added after that, but only until about half of all contestants have received a medal. No medals are awarded beyond this point.
For students who don’t earn a medal, the IOI awards Honourable Mentions for strong individual performance. These are given to students who score higher than at least half of the contestants on one of the two competition days, even if their total score isn’t high enough for a medal.
How to Qualify for the International Olympiad in Informatics (IOI)
Qualifying for the IOI is different from joining most academic competitions. Students can’t register on their own and must advance through their country’s official selection process while meeting eligibility rules set by the IOI and their national team.
Eligibility
To be eligible as a contestant, you must:
- Be enrolled in secondary school or lower in the country you represent for most of the period from September 1 to December 31 in the year before the IOI.
- Not be enrolled in a tertiary (university-level) degree program with a half-time or greater course load during the same period.
- Be no older than 20 years old on July 1 of the year you compete in the IOI.
If studying abroad, you may represent the country of your nationality instead of the country where you attend school. Any exceptions to these rules must be formally requested and approved by the IOI International Committee.
Each participating country selects and submits a team of up to four students through its official national selection process. Students should consult their country’s IOI member page and national competition organizers for specific document requirements and contact information.
Contest fees
There’s no direct contest fee for individual students to participate in the Olympiad. Teams are selected through national qualifying systems, and national organizations typically cover major costs such as travel, accommodation, and official participation. Unlike other competitions, selected IOI team members don’t pay an entry fee to compete at the international event.
Registration deadline
There’s no single IOI registration deadline because it depends on each country’s national selection process. Generally, national registrations close months before the main IOI event.
Because dates vary by country and year, you’ll need to check your national organization’s website for official dates, especially for upcoming events like the IOI 2026 in Uzbekistan.
How to Get into the International Olympiad in Informatics (IOI)
Getting into the IOI is a multi-step process that requires performing well in national programming contests. Students progress through their country’s official selection system, which typically includes multiple rounds of competitions and training before a final team is chosen.
Here’s how you typically qualify and earn a place on your country’s IOI team:
1. Verify your eligibility.
Verify your eligibility by confirming that your school status and age meet IOI requirements, and consult your country’s IOI committee if anything is unclear.
Generally, students must still be in secondary education, not enrolled in a university degree program, and be under 20 years old by July 1 of the competition year to take part in the IOI.
2. Research your country’s selection process.
Once you’ve confirmed your eligibility, find out how your country selects students for the IOI. Each country runs its own national competitions and training programs, with different timelines and requirements.
For example, in the United States, students compete through the USA Computing Olympiad (USACO), where only top performers advance to the training program that selects the IOI team. Other countries follow similar multi-stage selection systems using national contests and training camps.
3. Prepare for national selection rounds.
Prepare for the national selection rounds and the Olympiad itself. This involves developing strong problem-solving skills, understanding core algorithms, and writing reliable code.
Grading systems for algorithmic contests typically evaluate your program using multiple test inputs. Your solution must give the exact correct output and stay within time and memory limits. A correct idea isn’t enough if the code is too slow or fails on any test, so both correctness and efficiency are required.
If you need additional support while preparing for national selection rounds, our Olympiad Training program offers personalized 1-on-1 tutoring. Students work with experienced coaches to practice contest problems, review solutions, and improve performance in competitions like USACO and other national qualifiers.
4. Compete in selection rounds.
Compete in your country’s official selection rounds and aim for high scores or rankings. Contest format, scoring, and timing vary by country, so research the structure in advance and plan accordingly. Your performance determines whether you can represent your country at the IOI.
For example, the USACO consists of four online contests, where students solve 3–4 algorithmic problems in C++, Java, or Python. Programs are graded automatically, and high scores allow students to advance through divisions. Only the top performers earn invitations to the training camp that selects the U.S. IOI team.
5. Final training and team selection.
After the national selection rounds end, top students are usually invited to a training camp. This stage gives selected students a final opportunity to improve their programming skills and prepare for the level of difficulty expected at the international competition.
At the end of the training camp, the national committee announces the students who’ll represent the country at the International Olympiad in Informatics (IOI). If selected, you’ll receive official instructions and next steps for the event.
How to Win the International Olympiad in Informatics (IOI)
Winning the IOI requires more than knowing how to code. Students who succeed are strong at algorithmic thinking, write efficient and accurate programs, and perform well under pressure. Here’s how you can prepare to compete at that level:
1. Understand mathematics and programming more deeply.
To perform well at the IOI, you need a strong foundation in both mathematics and programming. While IOI problems are solved by writing code, the real challenge is often understanding the mathematics behind the problem, not the coding itself.
Many IOI tasks are based on concepts such as probability, statistics, and number theory, as well as other areas of mathematics. Success depends on breaking down the math correctly and then applying the right algorithms and data structures to turn that reasoning into an efficient and correct program.
Before each competition, IOI publishes an official Syllabus that outlines the topics students are expected to know. Reviewing the Syllabus helps you understand the scope of problems and focus your preparation on the concepts most likely to appear.
Below are some of the topics included in the 2025 IOI syllabus:
|
Category |
Topics |
| Mathematics |
Functions, relations, and sets, basic logic, proof techniques, discrete probability |
|
Computing Science |
Distributed algorithms, basic computability, automata and grammars, cryptographic algorithms |
| Algorithms and Complexity (AL) |
Algorithmic analysis, strategies, data structures, distributed algorithms, computability, complexity classes (P, NP), automata, grammars, geometric algorithms, parallel algorithms |
|
Software Engineering (SE) |
Software design, software evolution, software processes, specialized systems development |
| Computer Literacy |
Computer structure and operation (CPU, memory, and I/O), graphical user interface usage, basic file management skills |
2. Use official IOI resources.
Besides the Syllabus, the IOI publishes official materials to help students understand what to expect from the competition. These resources are designed to reflect the style, difficulty, and topics covered in IOI problems and are a reliable starting point for preparation.
These materials include past contest problems, official solutions, and recommended reading materials. Working through these helps you recognize common patterns, improve problem analysis, and understand how efficient solutions are built.
The IOI website also offers C++ tutorials and programming resources, which can help you implement algorithms correctly and prepare for IOI-level contests.
3. Practice under real contest conditions.
It isn’t glamorous, but the saying “practice makes perfect” really does apply here. IOI problems are highly complex, and students need to become very familiar with this style of problem well before the competition.
You’ll get the most out of practice by training under real contest conditions. One effective way to do this is by taking mock tests and solving past IOI problems at home using the same time limits as the actual competition.
Set a timer for about 5 hours and work through multiple difficult problems in one sitting, without taking breaks. This helps you manage your time, maintain focus, and adjust to the length of the Olympiad. You’ll find many practice problems available on the IOI website.
4. Stay mentally and physically prepared.
Competition day isn’t just about what you know but about how you feel. Get enough sleep and eat well before the contest to help you stay focused during long problem-solving sessions. A rested mind is better able to concentrate, manage stress, and think clearly under time limits.
At the same time, don’t forget to have fun! Remember, the IOI isn’t only about competition. Non-contest days include meeting students from around the world and learning about new cultures. Qualifying for and participating in the IOI is already a huge achievement, so take the time to appreciate the experience.
International Olympiad in Informatics (IOI) Previous Winners
Below is a look at the results of past Olympiads from the last ten years. These results list the absolute winners of each IOI and show the highest individual scores achieved each year, highlighting the level of performance required to place at the very top of the competition.
|
Year |
Host Country and City | Absolute Winner | Country Represented | Absolute Score |
Relative Score |
|
2015 |
Almaty, Kazakhstan | Jeehak Yoon | Republic of Korea | 600 | 100% |
| 2016 | Kazan, Russia | Ce Jin | China | 597 |
99.50% |
|
2017 |
Tehran, Iran | Yuta Takaya | Japan | 589.52 | 98.25% |
| 2018 | Tsukuba, Japan | Benjamin Qi | USA | 499 |
83.17% |
|
2019 |
Baku, Azerbaijan | Benjamin Qi | USA | 547.09 | 91.18% |
| 2020 | Singapore (Online) | William Lin | USA | 600 |
100% |
|
2021 |
Singapore (Online) | Mingyang Deng | China | 600 | 100% |
| 2022 | Yogyakarta, Indonesia | Jiangqi Dai, Shaoxuan Tang | China | 600 |
100% |
|
2023 |
Szeged, Hungary | Tingqiang Xu | China | 580 | 96.67% |
| 2024 | Alexandria, Egypt | Kangyang Zhou | China | 600 |
100% |
|
2025 |
Sucre, Bolivia | Hengxi Liu | China | 591.23 |
98.54% |
The most recent winner, Hengxi Liu of China, achieved the top score at IOI 2025 in Sucre, Bolivia. Over the past several years, Chinese students have appeared frequently among the top finishers, highlighting China’s strong and consistent performance at the IOI.
Frequently Asked Questions
1. What is the age limit for the IOI?
To compete in the IOI, a student must be no older than 20 years old on July 1 of the competition year. There’s no minimum age requirement, as long as the student is enrolled in secondary school or lower and meets all other eligibility rules.
2. What skills are tested in the IOI?
The IOI mainly tests algorithmic problem-solving. Students must analyze complex problems, design efficient algorithms and data structures, write correct programs, and test their solutions carefully. Logical thinking and the ability to turn ideas into working code are both essential.
3. Is the IOI harder than ICPC?
The International Olympiad in Informatics (IOI) and the International Collegiate Programming Contest (ICPC) are challenging in different ways. The IOI focuses on individual algorithmic problem-solving, while the ICPC is a team-based contest with fewer problems and intense time pressure.
Because the formats are different, it’s hard to say one is strictly harder than the other. The difficulty depends on whether a student performs better in solo problem solving or team-based competition.
Takeaways
- The International Olympiad in Informatics (IOI) is a top-level programming competition where students solve challenging algorithmic problems as part of a national team.
- Students cannot register directly and must qualify through their country’s national selection process while meeting age and school enrollment requirements.
- The next IOI will take place on August 9–16, 2026 in Tashkent, Uzbekistan.
- Strong preparation includes mastering algorithms and data structures, using official IOI resources, practicing past problems, and training under real contest conditions.
- Looking for support with IOI preparation and your college application? Work with an admissions expert to position your academic and competition experience effectively for selective colleges.
Eric Eng
About the author
Eric Eng, the Founder and CEO of AdmissionSight, graduated with a BA from Princeton University and has one of the highest track records in the industry of placing students into Ivy League schools and top 10 universities. He has been featured on the US News & World Report for his insights on college admissions.










