IOAI 2026 dag 2IOAI 2026 day 2
Perspektiv - Martin
Jag anlände sent på kvällen dagen innan (till skillnad från alla andra) och förväntade mig därför en rejäl sovmorgon 😴 ända till kl6 🕕. Men istället vaknade jag kl5 🕔 av solljuset som strålade in genom de genomskinliga gardinerna 🤦♂️. Med Turkish Airlines 🇹🇷✈️ ögonbindel på snoozade jag tills kl6.
Enligt schemat låg både frukost 🍳 och practice session 🧑💻 mellan 6:30-8:30. Jag, Anton, Ihor och Ronnie bestämde oss för att gå till practice session först, bara för att inse att alla andra hade prioriterat frukosten 😒. Så vi gick också till frukosten. Den bestod av en liten buffé med massa ägg 🥚🥚🥚, någon söt gröt och annat. Practice session efteråt gick som det brukar gå - hundratals tech support kort uppe i luften och ett gäng panikslagna tech staff.
Efter practice session var det dags för öppningsceremonin. Eftersom Kazakstans president 🇰🇿🤵🏻♂️ skulle närvara var säkerheten väldigt strikt. På vägen dit åkte vi buss 🚌 med poliseskort 🚓😮. Bussen drog bland annat en väldigt olaglig U-sväng medan en polisbil blockerade körbanan. Man fick dessutom bara ha med sig pass och mobil 📱 (pga säkerhet). Trots det lyckades jag smuggla med mig en liten väska 😏 med pass, Ihors väska (inuti min), och såklart en kortlek från IOL 🃏. Arrangörerna var nog lite för oroliga att vi skulle komma sent till presidentens tal, så vi var framme redan 2 timmar innan. Som tur var fick vi en extra frukostbuffé i väntan 🤤.
Öppningsceremonin bestod av några tal 🗣️ från en del “kända” personer följt av uppträdanden 🕺 och sedan videohälsningar 🎥 och brev ✉️. Vi fick även översättningsapparater som översatte från engelska till engelska 🤯. Däremot märkte jag att översättningen var en halv sekund snabbare än irl-ljudet, så jag valde att lyssna på översättningen för att ligga steget före. Tyvärr blev det ingen presentation av länderna 🇸🇪😢.
På eftermiddagen var det dags för första rundan av team challenge. Som europeiska mästare 🇪🇺👑 måste vi såklart låsa in 🔒 och vinna tävlingen 💪. Årets team challenge var väldigt lik förra - vi skulle programmera en galbot 🤖 till att ställa i ordning drycker. Efter en halvtimmes diskussion på vägen tillbaka spikade vi följande plan: BFS A* för pathfinding och långsamma snabba handrörelser (till skillnad från förra året). Väl inne i tävlingslokalen fick vi beskedet att alla hade fri tillgång till internet 🛜, LLMs 💬 och agentisk AI 🤖. Team challenge blev alltså en tävling i vibe coding 🥀 (pay2win 💰 dessutom). Tragiskt 😞… Speciellt tråkigt var det eftersom våra team leaders inte hade skaffat Claude Code åt oss innan tävlingen (som de såklart borde ha gjort 💔). Vi fick förlita oss på en begränsad Gemini Pro istället.
Med 45m försening drog tävlingen igång. Det tog endast en timme för oss att inte förstå uppgiften, och på bara två timmar hade vi skickat in en 20 GB zip fil som vi trodde var baseline 🥳. När ryssarna framför oss jublade över sin (förmodade) 0p lösning insåg vi att vi behövde koka ännu mer 👨🍳🍳🔥. Under andra delen av tävlingen började därför Teo krossa mig i fem i rad (tbf fick han börja nästan varje runda så det var lite orättvist 🤫), medan Simon fortsatte lösa Codeforces problem på mitt konto (tack btw 🙏) och spela schack på chess.com ♟️. Vi lämnade en halvtimme tidigt, vi hade ju trots allt redan lämnat in baseline fullsolvat 💪💯. Trust 🤫.
På middagen fick vi reda på att det andra svenska laget också hade lyckats skicka in baseline 🥳👏.
Resultatet kom dagen efter. Vi kom (typ) delad topp 10 🥳. Men eftersom alla lag var lika bra på att skicka in baseline behövde finalplatserna lottas ut. Lyckligtvis Tyvärr vann vi inte lottningen 😢.
PS: Vi kokade egentligen inte under team challenge 😔🥀.
Perspektiv - Teo
Dagen började tidigt (06.30 lokal tid, alltså 03.30 svensk tid) med frukost. Känner mig ändå relativt utvilad. Sedan är det det dags för övningsrundan.
Övningsrundan hade en hel del problem. Jag tror organisatörerena underskattade hur många 470 deltagare är. Plattformen i sig tycker jag dock om. Varje problem har en länk som öppnade en jupyter notebook med git och en submit knapp. En submission görs genom att välja en specifik commit. På så sätt tvingas du som deltagare att spara dina olika inlämningar, vilket kan vara väldigt användbart. I tävlingslokalen fanns det sååååå många volentärer som sprang (ja, dem som sprang) runt och försökte hjälpa alla med deras olika tekniska strul.
Efter övningen bar det iväg till öppningscermonin. Presidenten skulle vara där och dem snålade därför inte på säkerheten. Vi fick tydlig information om att endast ta med pass och badge. Jag tog dock också med mig en bok. Vi åkte i bussar med en poliseskort. En bil körde också i förväg och blockerade motorvägen så att vi fick fri lejd utan kö.
Efter att vi kom fram skulle vi igenom säkerhetskontrollen. Första steget var ansiktsigenkänning för att se om du var på gästlistan, följt av visitering, x-ray och metalldetektor. Jag misslyckades dock redan på första steget då jag blev nekad av ansiktigenkänningen. Blev då ombedd att vända mig till receptionen som efter noga granskning av mitt pass sa att jag inte fanns på gästlistan och alltså inte fick komma in. Konstigt. Dem andra svenskarna och dem flesta andra fick komma in, men det bildades en liten grupp utanför säkerhetskontrollen som hade samma problem som mig.
Vi pratade med en arrangör som efter att ha sprungit runt ett tag ledde vår grupp ut ur byggnaden och runt till baksidan. Där fick vi se ännu mer av säkerheten som fanns på plats. En del millitär stog utspridd runt byggnaden redo att försvara den. Väl på baksidan fanns det en alternativ ingång, som jag senare förstod var personalentrén. Där hade dem också en gästlista, men nu hittade dem våra namn på listan, konstigt. Efter att ha genomgått säkerhetskontrollen kunde jag återansluta till laget.
Vi väntade vid en buffe på att bli insläppta i huvudsalen. Även här fanns det väldigt mycket personal som servade. Vi behövde dock vänta länge, misstänker att dem hade marginal för att presidenten inte i något läge skulle behöva vänta.
När cermonin väl började var det enligt mig framförallt två anmärkningsvärda talare. Första är såklart presiedenten, men även Telegram grundaren var där. Han utlyste en prissumma för medaljerna: $1000 för guld, $500 för skilver och $300 för brons. Ett tag in i cermonin behövde jag gå på toaletten. Jag frågade därför en vakt om att få gå ut och fick då reda på att alla dörrarna i salen var låsta under tiden presidenten var där. Mer säkerhet.
Efter cermonin var det dags för lagtävlingen. Den var oerhört dålig och svårt att ta seriöst (den påverkade inte heller medaljer eller den individuella tävlingen på något vis). Alla digitala hjälpmedel var tillåtna, inklusive egen betald agentisk AI. Alltså blev tävlingen en utmaningen i vem som kunde komma ihåg sina inloggningsuppgifter till den bästa modellen. Kodbasen var också tydligt sloppad med Claude. I efterhand var det färre än 10 lag som fick poäng över den givna lösning och dem fick lotta finalplatser. För att fördriva tiden under tävlingen tävlingsprogrammarade Simon (vilket senare gav riktigt fina resultat på IOI) och vi andra spelade redactle och fem i rad.
Perspective - Martin
I arrived late the evening before (unlike everyone else) and was therefore expecting a proper sleep-in 😴 all the way until 6am 🕕. But instead I woke up at 5am 🕔 because of the sunlight streaming through the transparent curtains 🤦♂️. With my Turkish Airlines 🇹🇷✈️ eye mask on, I snoozed until 6am.
According to the schedule, both breakfast 🍳 and the practice session 🧑💻 were between 6:30 and 8:30. Anton, Ihor, Ronnie and I decided to go to the practice session first, only to realise that everyone else had prioritized breakfast 😒. So we went to breakfast too. It was a small buffet with loads of eggs 🥚🥚🥚, some sweet porridge and other things. The practice session afterwards went the way it usually does - hundreds of tech support cards up in the air and a bunch of panicked tech staff.
After the practice session, it was time for the opening ceremony. Since Kazakhstan’s president 🇰🇿🤵🏻♂️ was going to attend, security was very strict. On the way there, we took a bus 🚌 with a police escort 🚓😮. Among other things, the bus made a very illegal U-turn while a police car blocked the road. We were also only allowed to bring our passports and phones 📱 (for security reasons). Despite that, I managed to smuggle in a small bag 😏 with my passport, Ihor’s bag (inside mine), and of course a deck of cards from IOL 🃏. The organisers were probably a bit too worried that we would be late for the president’s speech, so we arrived a whole 2 hours early. Luckily, we got an extra breakfast buffet while we waited 🤤.
The opening ceremony consisted of a few speeches 🗣️ by some “famous” people, followed by performances 🕺 and then video messages 🎥 and letters ✉️. We also got translation devices that translated from English to English 🤯. However, I noticed that the translation was half a second ahead of the irl audio, so I chose to listen to the translation to stay one step ahead. Unfortunately, there was no presentation of the countries 🇸🇪😢.
In the afternoon, it was time for the first round of the team challenge. As European champions 🇪🇺👑, we obviously had to lock in 🔒 and win the competition 💪. This year’s team challenge was very similar to last year’s - we had to program a galbot 🤖 to arrange drinks. After half an hour of discussion on the way back, we settled on the following plan: BFS A* for pathfinding and slow fast hand movements (unlike last year). Once inside the competition venue, we were told that everyone had unrestricted access to the internet 🛜, LLMs 💬 and agentic AI 🤖. So the team challenge became a vibe coding competition 🥀 (pay2win 💰 as well). Tragic 😞… It was especially disappointing because our team leaders hadn’t got us Claude Code before the competition (which they obviously should have done 💔). We had to rely on a limited Gemini Pro instead.
After a 45m delay, the competition started. It took us only an hour to not understand the task, and in just two hours we had submitted a 20 GB zip file that we thought was the baseline 🥳. When the Russians in front of us cheered over their (presumed) 0-point solution, we realised we needed to cook even harder 👨🍳🍳🔥. So during the second part of the competition, Teo started crushing me at five in a row (tbf he got to go first almost every round, so it was a bit unfair 🤫), while Simon kept solving Codeforces problems on my account (thanks btw 🙏) and playing chess on chess.com ♟️. We left half an hour early; after all, we had already submitted the baseline fully solved it 💪💯. Trust 🤫.
At dinner, we found out that the other Swedish team had also managed to submit the baseline 🥳👏.
The results came the next day. We came (sort of) joint top 10 🥳. But since all the teams were equally good at submitting the baseline, the places in the final had to be decided by a draw. Luckily Unfortunately, we didn’t win the draw 😢.
PS: We didn’t actually cook during the team challenge 😔🥀.
Perspective - Teo
The day started early (6:30am local time, so 3:30am Swedish time) with breakfast. I still feel relatively well rested. Then it’s time for the practice round.
The practice round had quite a few issues. I think the organizers underestimated just how many people 470 participants are. I do like the platform itself, though. Each problem has a link that opened a Jupyter notebook with Git and a submit button. You make a submission by selecting a specific commit. This forces you as a participant to save your different submissions, which can be very useful. There were soooo many volunteers in the competition hall running (yes, actually running) around trying to help everyone with their various technical issues.
After practice, we headed off to the opening ceremony. The president was going to be there, so they didn’t skimp on security. We were clearly told to only bring our passports and badges. I brought a book too, though. We traveled in buses with a police escort. A car also drove ahead and blocked the highway so we could get through without any traffic.
After we arrived, we had to go through security. The first step was facial recognition to check whether you were on the guest list, followed by a pat-down, an X-ray and a metal detector. I failed at the very first step, though, when the facial recognition rejected me. I was then asked to go to the reception desk, where, after carefully inspecting my passport, they said I wasn’t on the guest list and therefore couldn’t come in. Strange. The other Swedes and most other people were allowed in, but a small group formed outside security with the same problem as me.
We spoke to an organizer who, after running around for a while, led our group out of the building and around to the back. There we got to see even more of the security in place. Military personnel were stationed around the building, ready to defend it. At the back, there was an alternative entrance, which I later realized was the staff entrance. They had a guest list there too, but this time they found our names on it. Strange. After going through security, I was able to rejoin the team.
We waited by a buffet to be let into the main hall. There were lots of staff serving people here too. We had to wait a long time, though. I suspect they had built in a buffer so the president wouldn’t have to wait at any point.
Once the ceremony finally started, there were two particularly noteworthy speakers in my opinion. The first was, of course, the president, but the founder of Telegram was there too. He announced cash prizes for the medals: $1000 for gold, $500 for silver and $300 for bronze. A while into the ceremony, I needed to use the restroom. So I asked a guard if I could leave and found out that all the doors to the hall were locked while the president was there. More security.
After the ceremony, it was time for the team competition. It was incredibly bad and hard to take seriously (it also had no effect on medals or the individual competition in any way). All digital tools were allowed, including your own paid agentic AI. So the competition became a challenge of who could remember their login credentials for the best model. The codebase was also clearly slopped together with Claude. In the end, fewer than 10 teams scored higher than the provided solution, and they had to draw lots for the spots in the final. To pass the time during the competition, Simon did competitive programming (which later led to really good results at IOI), while the rest of us played redactle and five in a row.