RMI 2024 Blog

RMI 2024 took place from 27.-30.11.24 in Bucharest

Linus Lüchinger
News

Tuesday, 26.11.24 (Kimi)

We agreed to meet 18:30 at Zurich Airport. We *actually* met on 18:15, unbelievable, right? (not 100% mobile friendly but I tried)

In the airport we had a lot of time so we went to Migros to buy dinner and played some tichu to pass the time. After Security, where my Toothpaste got confiscated (because it was too big, but it was as big as Linus toothpaste).

Anyways after we predicted the correct Terminal and waited at the gate we played some Tichu again. Then some announcement said that everyone should pay attention to suspicious people doing suspicious stuff and keep their stuff with them. During the announcement I took Linus’ phone and put it on my bag. Shortly before we wanted to go in our plane, Linus didn’t find his phone anymore. We told him to search everywhere, but he couldn’t find it. After we reminded him of the announcement he thought that this is the second time that his phone is stolen during the travel to a SOI-Event. You should have seen his face when I pulled out his phone and gave it to him.

Landing was a solid 8.3/10, Andrei welcomed us and a taxi brought us to Moxa (our room, 4m24m^2)

https://soi.ch/media/images/moxa1.jpg

Our very big room at Moxa

Wednesday, 27.11.24 (Linus)

Andrei got up at 9 o’clock and asked if we (Kimi, Linus, Linus, and Andrej) were already awake. We agreed that we would get up at 9 o’clock, but none of us set the alarm clock, thinking that someone else would do it. Ursus and Ferdinand reacted to this question, which confused Andrei. We did not get up until 11 a.m. We started the day with a Romanian cafeteria lunch and walked around the city a bit. Not all participants took part in the practice contest and some just solved the addition task and left afterwords. There grader has a build in graph visualizer and a geometry tool (hopefully we will not need it).

Ursus arrived before the closing ceremony started, but was unable to do the practice contest. The opening ceremony started with a theatre performed by the local school, which included some singing. All the delegations were called to the front of the stage, and as many times before we threw chocolate into the crowd. As our leaders are not allowed to communicate with the participants after the task translation, we met our guides (who changed throughout the week). The dinner was similar to the lunch (this streak will continue). After dinner, we bought some sweets for the first contest day. The leaders had to go and translate the task, and what can you do when there are four people left? Exactly! We played some rounds of Tichu (in one of them Andrej called a grand Tichu, but Linus, Ursus and Kimi all had a bomb). Shortly after 9 p.m. we went to bed to get a good night’s sleep before the contest started.

Quotes out of context: - “Now we have seen all the Romanian children we have to beat” - Andrej

Thursday, 28.11.24 (Andrej)

At the break of dawn, a promise was broken. No one woke us up by banging on our door. Well, as very responsible participants, we woke up anyway and headed, disappointed and heartbroken, to the canteen to get breakfast. Said breakfast was decent [1]. We then set out on the lengthy trip to the contest venue, after letting Kimi get his coffee. On the way there we realised that almost every single road in Bucarest had six lanes, and whatever they call the Square of Victory was just a very wide and hard to cross road. I guess we got there without getting crushed by any car.

The contest started after some more chaos (people were already typing 30 minutes before the start, and the organisers didn’t even reset the computers after the practice session [2]). I panicked when I saw I didn’t take my ginger shots [3], but I had to accept the situation. As for the contest, two of the tasks had very nice ideas but both were also extremely hard to find (only a handfull of people got fullscore on them), and the third one was some incredibly ugly nonsense where the intended solution was case bashing in 6 dimensions. I still got some decent partials on it and another task, while failing to get the 7 easiest points of the contest. The remainder of the swiss team did varyingly well, but the tasks were very hard on day 1 so we mostly hoped there would be more points on day 2.

We headed back to the Moxa for lunch, and since we had a lot of free time, we decided to explore the city a bit and find a café to sit down and play tichu. After a couple hours wandering around, we did find a café, ordered some crêpes, and had a great time playing zero-sum tichu [4]. We then saw another great example of Romanian efficiency when the staff called security to kick us out (because asking people nicely to leave is inefficient). We then hopped on a metro and had to decide between visiting the Big Building [5] or the christmas market, and we obviously chose the christmas market. There we tried some traditional Romanian food, and found out Ursus still had the big pot of nutella he stole from the physics olympiad camp. We even came on time for the opening ceremony of the christmas market, which was frankly a lot better than the one of RMI (it even had fireworks). Then Linus, as a very responsible leader, proceeded to learn Romanian swear words from our guides (sadly he failed to pronounce Ă).

We were so mesmerized by that christmas market that we missed the official RMI dinner, so we just went eat noodles in a fast food, while having a very long conversation about politics. As very responsible people we thought sleeping before day 2 could be a good idea so we went back to the dormitory. However, there was one more very important thing we had to do: what if we forgot how to implement segment trees overnight? That would be very annoying for the contest. This is why Ursus decided to record a great segtree tutorial, while obviously running a few infinite loops of xcowsay to get inspiration.

[1]it didn’t have enough sweet stuff though
[2]for some reason they were really strict with taking back our paper after the contest and not letting us use our own on day 2, but still let us reuse the same code for the 3 days
[3]at least they served me well on day 2
[4]aka Tichu But There Are Five Phoenixes For Some Reason
[5]Somewhat disliked guy wanted big building here, so he removed houses here and built big building here”
https://soi.ch/media/images/nutella.jpg

Us with Ursus’ nutella pot

Friday, 29.11.24 (Ursus)

Ugh, we had to get up again from this four bedroom made for two people.

Anyway, classic thing: Eat breakfast, and off we go to the school (which was a ‘chill’ 15-minutes walk from our dormitory). When we arrived at the school, we went into the very well organized contest rooms and started the contest day 2.

After 5 minutes of JSON parse error, I could finally read the tasks and they felt equally cursed as yesterday. Alas, I had a solution for the first task, but then C++ thought “Hmm, let’s give Ursus a nice mipmap chunk, invalid pointer error”. I, who only had 30 minutes left, was a bit pissed, but well, there would’ve been a much nicer solution than I tried to implement.

The contests were finally over and the pain for this week ended. Let’s have some fun now, shall we? HAHAHA, nope. First of all, let’s get back to the canteen, to eat lunch. What could go wrong?

  • Rain? A bit nasty that I haven’t had an umbrella or a raincoat, but sure.
  • Romanian Traffic? Well, I’m used to it and we have seen for two days already.
  • Demonstration? Ach sure, at least we can make fun of some speeches we don’t even understand.

However, since “garbage*garbage = worse garbage”, you can imagine how cursed it was: While it was raining (and it was already stressful) the traffic was even worse because of the demonstration and the entire situation felt completely unorganized and clunky. Good thing we kept together and didn’t lose anyone. Linus and Linus, Andrej and Andrei, and Ursus and Ursus [6] continued walking together to the canteen.

At lunch, we had the usual okayish meal (definitely better than IOI), but then I had an improvement over my Segtree-tutorial from yesterday: Let’s make a tutorial in F++.

So, the nice thing about F++ is that you can fix all your problems with the Ferditree. Any datatype can be converted to a Ferditree and by calling ‘Ferditree::solve()’, you will never encounter any problem in your life ever again.

So, I was trying out the gift from the holy Ferdinand, but it then it was also time to go the closing ceremony.

By the way, did you notice that we walked this 15-minute walk from the school and the dormitory around 8 times this week? I especially remember those times when we walked while raining (which was four times).

Anyway, the closing ceremony was straight forward: Dancing session with “GIMME GIMME GIMME A MAN OF THE MIDNIGHT…” (which was a funny coincidence regarding what happened week… [7]) and then the medal ceremony.

For us:

  • Andrej got silver! (strong)
  • Kimi missed Bronze (but with good performance)
  • Ursus missed Bronze (by undefined behavior)
  • Linus failed

Congrats to Andrej, but well, weren’t we just discussing that RMI was just another bullshit contest? Anyway, Andrej had a good performance and got a shiny plate of medal (and honor) which I hope is cool.

After the ceremony, we went into a restaurant (with too many dishes) and I had fun finding out the meaning of life using F++. The answer the Ferditree provided [8] were always very enlightening.

An F++ code would be:

ferdi tree = Ferditree::from("Can you implement a Segment tree in C++?");
tree.solve();

The output was:

#include <iostream>
using namespace std;

int main() {
  int n;
  cin >> n;

  vector<int> v(n+1);
  for(int i = 1 ; i <= n ; i++) {
    cin >> v[#];
  }

  /*
    More boilerplate code
  */

  cout << "Segment tree implementation failed!" << endl;
  return 0;
}

Simply, the best! This quote was also nice:

Sure I’ll do it, but only for a fee of 1000 Swiss chocolate francs…

The Ferditree is the best data structure ever.

Also, Linus Linus (i.e. the one that is ALLEGEDLY a leader [9]) made a bottle opening tutorial. In the end, the bread was full of Soda.

After dinner, we went back to the dormitory and finally, were in a warm place where we could rest.

There, I recorded my F++ Segtree tutorial [10] and well…

Anyway, while Linus was sleeping (maybe?) I, Kimi, and Andrej talked about random stuff. However, I was already talking with eyes closed and at some point I woke up with broken glasses. It turned out that I fell asleep on my glasses, but don’t worry, only the scaffold broke.

So, by reading all this, what did you learn? Which meanings contained the symbolic entities used in this blog post, and what is your resulting interpretation?

Simply: It’s all about the Ferditree.

[6]As a certain leader like to mix up
[7]I think only 2 people will understand this.
[8]which is definitely not a LLM underneath
[9]And ALLEGEDLY a vegetarian.
[10]Okay, you might ask, why? And for that, there is a simple answer: Why not?