May 12: Arrival

Zong Yu looked drastically different than what we expected of an ICPC’er: he looked young, friendly and approachable, and didn’t seem to be balding yet. For another year, the Malaysian team participated in EGOI online. It’s a funny coincidence that the team ended up staying at the same condo as last year, though in a different tower. The check-in process was a bit dramatic: Hui Qing arrived first and took one access card to enter, then Zong Yu arrived and did the same, hence all of the available cards were taken. When Hua Zhi and Hua Jun showed up, they needed an access card for the residence parking, so Zong Yu had to run downstairs to meet them. Amidst all the chaos, Jun Di arrived, and Zong Yu and Hua Zhi still have not met up! Eventually, we settled into the Airbnb and started choosing our rooms. Almost everyone wanted the “fun kids’ room”— perhaps that’s why we picked this place to begin with. We set up our tables and spent the rest of the night playing Mario Kart. After that, we had dinner at Sunway Velocity, where Hua Zhi and Hua Jun went to play Maimai, while Jun Di, Zong Yu, and Hui Qing went shopping.

may-12-activities

May 13: Practice Contest

The day started with setting up virtual machines for the contest. Samantha arrived just after the rest of us had finished our first (and only) breakfast of the week. After that, we played the board game Saboteur; it was a fun, tricky game, and it’s always exciting to figure out who is on your team (though there’s a chance you might have zero teammates as well!). Later, there was a practice session where Zong Yu shared his ICPC experience and helped us test various grading system errors. Dinner was followed by TowerFall — since Samantha brought her Switch, there were enough controllers for all six of us. The MVPs were definitely Zong Yu (the “little pink princess”) and Hua Zhi (the “king”), a perfect couple XD. Zong Yu then began the translation work at 2:00 a.m. (salute!) and, in his own words, didn’t finish until 7:00 a.m.

may-13-activities

May 14: Contest Day 1

When Samantha and Hui Qing woke up at 10:00 a.m., Zong Yu was still pacing between the bathroom and the kitchen. Does he run on batteries? Doesn’t he ever get tired? Since Zong Yu had already seen the contest problems, he wasn’t allowed to communicate with any of us, so we and Hua Zhi headed out for brunch and snacks. Before the contest, we practised some interactive problems under Hua Zhi’s guidance. After the contest, the team had dinner with the proctors and wrapped up the day with more Saboteur and Overcooked. Zong Yu was so exhausted during Overcooked that he looked half-drunk and suddenly just “shut down”, which prompted Hua Zhi to step in from his room to take over. With Samantha’s help, we managed to beat almost all the levels in one night!

Hua Jun:

During contest day 1, my laptop froze a couple of times, locking me out for a whole hour before the team leader finally fixed it. To be honest, I was quite anxious during that downtime. I’m not used to tackling problems without being able to write and test my code simultaneously, so I honestly couldn’t figure out much in my head. However, the moment the technical issue was resolved, I rushed to code and debug whatever I could. Problem A gave me a really hard time at first, but after submitting a clarification request through the system, the staff replied with a very clear explanation, which I really appreciated. Despite the chaotic start, I finally made it into the bronze medal range, and I am incredibly satisfied knowing I did my best.

Jundi:

No ideas came to mind when I initially read problem A, so I started off with the sub tasks. When I solved up to subtask 3, I suddenly got an idea on how to AC, hence I AC’d problem A pretty quickly. I proceeded to skim through the other problems and solve the easier subtasks. After finishing the easier subtasks on problem D, I wanted to try problem C’s subtask 2, but I bricked for a really long time, and reluctantly went back to problem B. I spent half an hour thinking what were the conditions to answer “Yes” or “No”, and successfully collected 20% of the marks. I was really surprised that at the very last minute of the contest I managed to grab problem B’s subtask 2!

Hui Qing:

I spent 20 minutes on A for the first three subtasks—I really should have spotted the pattern and AC it earlier. I moved to B and brute-forced the M=1 constraint for 20 points. On C, I only snagged 8 points with floor(N/2), then realized too late that subtask 2 was a simple brute force, and subtask 3 just required checking even positions of W. For D, my approach of checking positions 1–M only got 8 points. Jun Di told me after the contest that binary search was the key for 11 points—AHHHH! I went back to A and tried DFS, but got TLE. I eventually realized the fix was just connecting ‘+’ types, ‘-‘ types, and adding one link between them. It’s so frustrating that I wasted so much time on that. I spent the rest of the time on B, but I overthought the operation to recover the permutation and wasted too much time debugging the wrong approach, so I didn’t get any more points after finally AC A. I finished the first day with a total of 136 points (100+20+8+8).

Samantha:

For part A, I initially forgot that the other for the + and - was given so I’d been giving the wrong combination. But after that it was easy to solve until subtask 3. I hadn’t realised that I could have just applied the same logic forward to subtask 4. For B, it took a long time to really process how to tackle it. In the end, I thought of looking at it from the back instead of the front and it helped more but I wasn’t able to submit it on time.

may-14-activities

May 15: Game day

We took a Grab to get some halal dim sum for brunch. None of us (except Hua Zhi) were interested in an outdoor excursion, so we had a ‘thrilling’ experience of staying locked inside the Airbnb, keeping ourselves entertained with Skribbl, Codenames, Exploding Kittens, and more Saboteur. Time flew by, and we were basically living in the Italy time zone, playing until 7:00 or 8:00 p.m., yet it still felt like the afternoon. Still locking ourselves inside, we ordered pizza via Grab and started watching Attack on Titan while waiting for the pizzas to arrive. Samantha and Zong Yu, shocked that some of us had never seen it, explained the characters and the lore to us. Shoutout to Hua Zhi’s girlfriend for the delicious chocolate banana cake! After everyone finally gave in to sleep, Zong Yu stayed up to watch movies until it was time for the translations again (salute!).

may-15-activities

May 16: Contest Day 2

As usual, we had brunch and practiced problems before the contest, while taking a close look at Zong Yu’s code for the Day 1 problems. After the contest, the team had dinner with the proctors at Haidilao. It was hilarious when Hua Zhi suddenly decided it was Chang Jun’s birthday (even though it wasn’t) and the Haidilao staff actually came over to celebrate by dancing and singing! Back at the Airbnb, the group returned to TowerFall, now discovering specific “curses” to debuff Zong Yu and Samantha, and finished the night with Attack on Titan. Hua Zhi was busy with a “sweet” video call while the rest of us watched anime. Eventually, he joined us to enjoy the cake. Zong Yu, having been awake for over 30 hours, eventually fell asleep on the floor, surrounded by anime sounds and our discussions. Hui Qing kept nodding off, even when Samantha and Zong Yu pointed out all the “exciting moments.”

Hua Jun:

Problem A on Day 2 was quite tricky in my opinion, but fortunately, I grasped the core idea quickly. After a bit of debugging, I managed to secure full marks within the first 30 minutes. I then quickly brute-forced my way through Problem B to build some confidence before attempting a full solve. I tried upgrading to a full-solve solution but encountered persistent bugs. After twenty minutes of going in circles, I shifted my focus to Problem C—the problem I struggled with the most. I found myself constantly coding, uncovering various edge cases, and spotting logical blind spots I hadn’t noticed initially. After continuously tweaking my logic, I managed to yield 48 marks. Knowing time was running out, I quickly grabbed 20 marks from the simpler subtasks in Problem D. Realising my limit there, I pivoted my attention back to Problem B. With a fresh perspective, I successfully identified the logical flaw in my previous code, boosting my score to a solid 79 marks! Returning to that tough nut, Problem C, I made some final attempts to squeeze a few more points out, but time was up. Knowing I had left nothing on the table, I felt pleased, even though I landed in the bronze medal range once again.

Jundi:

Day 2’s problem A was way harder than Day 1’s. I initially planned to write the AC code, but after spending almost one and a half hours with no success, I hesitantly looked at the other problems. After finishing easy subtasks from the other questions, I decided to try Problem C. I wanted to finish subtask 3, yet after almost an hour of WA’s (I realised after the contest that I had missed a scenario), I went back to finish problem B’s subtask 3. In the last 15 minutes, I kept going over the subtasks I bricked on that I felt like I could solve, but unfortunately due to time constraints I didn’t manage to complete any other subtasks.

Hui Qing:

I started Day 2 by grabbing 21 points on A with brute force. I had a solid plan using a form of lazy propagation and mapped it all out on paper, but I decided to stick to my 45-minute limit per question; since I wasn’t confident I could code it out quickly, I moved on. For B, I brute force the first subtask to check my understanding, then figured out some constraints for subtask 2, assuming they would apply to the rest. I skipped C, foolishly overconfident that I could code a DSU solution within a short time(haish!). For D, I managed to pass the example (N=5), but when expanding to N=8 for subtask 1, I kept getting WA. I spent forever debugging with cout statements, but I just couldn’t find the bug. Desperate, I went back to A, implemented the plan I’d figured out, and surprisingly got it to AC! I took a quick toilet break just to calm my nerves. I spent the rest of the time grinding B, hoping my logic would scale, but I didn’t get any more points. I ended Day 2 with 131 points (100+31+0+0). Looking back, I really should have spent my time trying C and D instead of getting so overconfident with B.

Samantha:

I decided to look at the templates they gave but I didn’t realise that would be a big mistake. Since I was editing their template, I couldn’t just submit it from the recents folder. That caused me to submit their template for a very long time. For A, it was a pretty simple idea but I hadn’t been able to optimise it to pass the last subtask. I tried B and was able to get the idea for subtask 1.

may-16-activities

May 17: Closing ceremony + Departure

The team took a group photo, and Samantha left at noon, then we had one last brunch before heading to Sunway Velocity for karaoke. Jun Di has such a sweet voice, while Hua Zhi’s playlist was full of heartbreak songs (SO SADDDD). After three hours of singing, the group went back to the Airbnb to rearrange the tables. It was anime time again, but this time Zong Yu played Demon Slayer. The “elders” were busy working on reports, while the youngsters enjoyed the movies and games. Zong Yu bought pizza for everyone for dinner (thanks, ZY!), and then Jun Di and Hui Qing left for the night.

may-17-activities