Docs
What is IOI?
International Olympiad in Informatics
Introduction
The International Olympiad in Informatics (IOI) is the world’s biggest programming competition for school students. It challenges teenagers to solve logic, mathematics, and algorithm problems — and turn their ideas into fast, efficient code.
Every year, countries across the globe select their top 4 students to represent them at IOI. These young coders compete for gold, silver, and bronze medals, and a chance to prove themselves on the world stage.
It’s basically Olympics of Competitive Programming for High School Students.
History of IOI
- IOI started in 1989, first held in 🇧🇬 Bulgaria, as part of the global scientific Olympiad movement.
- The goal was to encourage young talent in programming and problem-solving around the world.
- It has grown from just 13 countries in the first edition to more than 90+ countries today.
- Past IOI participants have gone on to become Founder of companies like Quora, Cognition AI and Google , Facebook engineers, Top professors, and leading scientists globally.
Modern-Day Importance
- Today, IOI is considered most Prestigious Computer Science Competition for teenagers.
- Medals at IOI are recognized by top universities and tech companies worldwide.
- Countries like USA, China, Russia, Korea heavily invest in training their IOI teams.
- Qualifying for IOI automatically places you among the top young coders in the world.
- Winning an IOI medal can literally be a golden ticket to world-class universities, internships, and scholarships.
Benefits of IOI
1. Scholarships & University Admissions
- IOI medalists are heavily preferred by top universities like MIT, Oxford etc.
- Helps you win fully funded scholarships — because IOI proves you’re elite in problem-solving and programming.
- Even reaching national camp strengthens your application and CV massively.
2. Global Recognition & Opportunities
- You get to represent Pakistan internationally.
- Many ex-IOI participants go on to work at Google, Meta, DeepMind, Microsoft and launch startups.
3. Next-Level Skill Development
- Makes you a master of algorithms, logic, and coding efficiency.
- Builds mental stamina, creative thinking, and resilience — skills useful in every field of life, not just CS.
4. Prestige & Personal Brand
- You become part of a small circle of elite problem-solvers.
- Being an IOI contestant or medalist gives lifelong credibility and respect in tech circles worldwide.
5. It Compounds
- Skills gained while preparing for IOI help in university programming contests (ICPC), job coding interviews, and more.
- Sets you up to continue winning in life — long after IOI ends.
Eligibility for IOI?
Students should not be older than 20 years on the 1st of July of the year of the IOI Olympiad in which they appear. There is no lower age limit for participation. For example, if you want to participate in IOI 2026, your 20th birthday should not come before 1st July, 2026.
Second constraint is your education, Contestant must not have started his university before Fall of the IOI year, For example, if you want to participate in IOI 2026, your university education should start in Fall 2026 or after, not before.
Useful links
IOI Olympiad (International Olympiad in Informatics) - GeeksforGeeks
https://ioinformatics.org/page/getting-started/14
The Ultimate Guide to the International Olympiad in Informatics — Veritas AI
Just for Motivation
What is Competitive programming (CP)?
Competitive Programming (CP) is a mind-sport where you solve challenging logic and math-based problems using code — usually under a limited time (1–5 hours).
Think of it as a coding Olympics , where instead of athletic strength, you use your brain, algorithms, and speed.
That is why it is also known as Sport Programming or Speed Programming
What kind of problems do you solve?
Examples:
- “Given a big number, check if it is prime or not”
- “Find the shortest path between two cities on a map.”
- “Given N students and friendships, count the number of friend groups.”
These require:
- Logical thinking
- Mathematical patterns
- Algorithmic tricks
- Clean and fast code
This is NOT making apps or websites — it’s pure problem solving and algorithms.
You don’t give answers to the question, instead you write programs that can.
Why do people do Competitive Programming?
- It enhances your problem-solving abilities and mental agility
- It provides the satisfaction and engagement of solving challenging puzzles
- You can participate in online competitions and improve your ratings & rankings
- Top competitors gain access to career opportunities, recognition, and valuable internships
- It serves as the primary pathway to qualify for IOI and later ICPC (university level) competitions
Check out this Video
Competitive Programming: Explained by an IOI medalist
Pakistan IOI team Selection Process
The journey to represent Pakistan at the International Olympiad in Informatics (IOI) starts with the Pakistan Olympiad in Informatics (POI) — a multi-round national selection pipeline organized by the Federal Board of Intermediate & Secondary Education (FBISE).
🔹 Round 1 – Online Qualifier
- Registrations usually open around November–December.
- The test is typically an online Codeforces contest, but students must appear physically at official test centers set up in major cities across Pakistan.
- Around 50–70 top scorers are shortlisted from all over the country.
🔹 Round 2 – Advanced Problem-Solving
- Shortlisted students are invited for a higher-level coding test, again supervised at physical centers.
- Problems are more algorithmic and closer to IOI style.
- The list is narrowed down further to select the top ~15–20 students.
- Important Point: They may just have one round and in that case around 25-30 students will be shortlisted directly for Round 1 for Final Round.
🔹 Round 3 – Final Round
- All those students will get to participate in Asia Pacific Olympiad in Informatics APIO (Highly Prestigious Competition).
- Final Round will be an IOI-style Contest.
- Most Probably, Final Team Selection Test of some other country or APIO.
- Top 4 scorers in the Final Round will make it to Pakistan IOI team.
🏁 International Representation
- The selected team represents 🇵🇰 at the IOI, hosted each year by a different country.
- IOI 2026, Tashkent, Uzbekistan. August 9-16
- IOI 2027, Potsdam, Germany. September 12-19
- IOI 2028, Japan
- IOI 2029, Bulgaria
Start from Zero (Step-by-Step)
How to Start Competitive Programming?
Step 0: Find Your Why
- Before coding, know your purpose. Ask: “Why do I want to learn programming?”
- Possible strong reasons:
- I want to represent Pakistan at IOI or ICPC
- I want a scholarship to a top university (MIT, KAIST, etc.)
- I love solving logic puzzles and coding challenges
- I want to build my future through tech & problem-solving
- Programming is hard. You’ll feel stuck, confused, and frustrated — that’s normal.
- What matters is grit, not genius. Start with a strong reason, and don’t stop.
- Write your goal somewhere visible. Look at it when you feel like quitting.
“Weak purpose dies at the first bug. Strong purpose turns bugs into fuel.”
Step 1: Required Hardware & Software
🖥️ Hardware (Minimum)
- ✅ Laptop/Desktop (recommended)
- Internet
💽 Software (for C++ Programming)
- Linux operating System is recommended but you can use windows or MacOS
- Code Editor: Sublime Text/ VS code/ VIM/ etc
- MinGW / g++ (C++ compiler)
- Terminal / CMD / PowerShell (to run code)
- Optional: Use OnlineGDB or Replit for browser-based coding
👨💻 Step 2: Learn C++ Basics
Why C++? Only C++ is allowed in IOI, It is almost 30 times Faster than python in run-times and more than 90% Competitive programmers use C++ (means more content available in C++).
What You Need to Learn First
Start with the fundamentals — don’t jump straight into algorithms or Advanced Data structures.
- Basic Syntax (how C++ code is written)
- Variables & Data Types (int, char, string, etc.)
- Input & Output (cin, cout)
- Loops (for, while)
- If-else (conditions)
- Functions
- Arrays
- Practice using simple math problems on codeforces, atcoder
- w3schools website and Apna college Playlist can be used to learn Basic C++.
Step 3: Start Solving Problems
- C++ is useless without problem solving
To get good at IOI-level problem solving, you must train on real platforms like Codeforces and build your thinking muscle through hard practice — not shortcuts.
Join Codeforces
- Register Here
- Explore the Problemset
- Start solving 800 rating problems
- Focus on topics like:
- Input/Output
- Loops & If-Else
- Arrays & Strings
- Basic math problems
Participate in Contests
- Codeforces hosts rated contests every week
- Join these contests LIVE — you’ll learn how to:
- Think under pressure
- Manage time
- Handle bugs & edge cases
- Don’t wait until you're “ready” — start early
- By Codeforces Rating, you will know you current level and recent progress
- So contests are not test but a personal assesment.
🛑 Don’t Use AI or Google to Solve
- ❌ Don’t copy/paste solutions from YouTube, ChatGPT, or blogs
- ❌ Don’t ask AI to debug your contest code
- ✅ Struggle, fail, and retry, that’s how your brain grows
- Using AI during contests kills your growth, it’s like Using Car to practice for Running.
- Codeforces is an international Platform, Cheating there is dishonesty and Insult of your Country.
If you don't struggle, you don't improve.
Resources:
- usaco.guide Amazing Guide for CP and Full of Resources
- Codeforces and Atcoder Best website for Competitive Programming and Live Contest.
- Youtube Channel: Algorithms with Shayan
What to Avoid Early On
- ❌ Blindly watching tutorials without solving problems
- ❌ Using ChatGPT/YouTube for every stuck problem
- ❌ Jumping to hard problems too early (demotivating)
Contact for Further Queries
Discord: Pakistan Competitive Programming Community (PCPC)
WhatsApp Group: NSTC Support Family
Join IOI channel in the Group : https://chat.whatsapp.com/KlRddpTwps87md61ePXGJ1
Ask Any Question related to IOI or Competitive Programming
