AIO¶
The Australian Informatics Olympiad is a 3-hour contest of six problems, in increasing difficulty, each worth 100 points split into subtasks. Past papers, a judge and editorials are on ORAC. From July to September we worked through nine years of papers.
| Year | Lesson(s) | Problems | Ideas that came up |
|---|---|---|---|
| AIO 2026 | 12 Sep | Jump on Platforms, IGM, Discount Destinations, Sunday Drive II, Prime Minister, Mundane Square | sliding window, two sweeps, binary search, greedy construction |
| AIO 2025 | 23 Jul, 27 Jul, 30 Jul, 23 Aug | Soccer Match, Buried Treasure, Off the Track, ORAC, Pairing Cards, Robot Writing | proofs of greedy choices, prefix maxima, distance + parity |
| AIO 2024 | 23 Jul, 30 Jul, 5 Aug | Javelin, Subbookkeeper, Shopping Spree, Backpacking, Tennis Robot II, Twin Rivers | exchange argument, small value range, jumping over repeats |
| AIO 2023 | 5 Aug | TeleTrip, Distincto's Raffle, Making Bank, Shoptimality, Wheeling and Dealing, Lights | sets, running minimum, heaps, XOR equations |
| AIO 2022 | 10 Aug | Election II, Level Ground, TSP, Beautiful Buildings, Composing Pyramids, Spaceship Shuffle | greedy, DP by value, median |
| AIO 2021 | 15 Aug | Robot Vacuum, Art Class II, Melody, Social Distancing, Space Mission, Laser Cutter | suffix minima + binary search, observation |
| AIO 2020 | 19 Aug | Baubles, Cookies, Ghost Encounters, Tennis Robot, Ladybugs II, Beach Umbrellas | binary search, sparse table, interval greedy |
| AIO 2019 | 22 Aug | Vases, RPS, Hiring Monks, Medusa's Snakes, Evading Capture, Lollipops II | binary search on the answer, exchange arguments, parity BFS |
| AIO 2018 | 23 Aug | Street Construction, Castle Cavalry, Cloud Coverage, Janitor, Detective | local maxima, incremental updates, 2-colouring |
How to use the subtasks¶
Subtasks are hints written by the problem setters. A typical problem looks like this:
| Subtask | Typical rule | What it rewards |
|---|---|---|
| 1 | tiny \(N\), or a special shape | a brute force that is obviously correct |
| 2–3 | \(N \le 1000\), or one extra condition | an \(O(N^2)\) idea, or the problem with one difficulty removed |
| last | full limits | the real algorithm |
Our routine in every lesson:
- Read all six problems first and note the limits (Complexity & Constraints).
- Collect easy points: full solutions for Q1–Q3, brute force for the subtasks of the rest.
- Use the brute force: print its answers for small inputs and look for a pattern, and keep it to test the fast solution against.
- Look for the strange constraint (prices \(\le 20\), \(P_i = 0\), "the graph is a grid"): it is usually the door to the next subtask.
- Check
long longbefore submitting.
Recurring ideas¶
| Idea | Where |
|---|---|
| binary search on the answer | 2026 Q5, 2021 Q5, 2020 Q4, 2019 Q4, 2019 Q6 |
| exchange argument | 2024 Q3, 2025 Q4, 2025 Q5, 2019 Q2, 2019 Q3 |
| prefix sums / sliding window | 2026 Q3, 2022 Q6, 2018 Q3 |
| "only a few things change" | 2022 Q4, 2018 Q4, 2018 Q5, 2024 Q5 |
| parity | 2019 Q5, 2025 Q6, 2023 Q6 |
Credits & sources
AIO problems are © the Australian Mathematics Trust and are linked, not copied: every page summarises the statements in our own words and links to ORAC. All explanations and code are ours.