Ten Years of Competitive Programming 4

Revision en4, by Arpa, 2023-11-22 18:10:58

Hey, Codeforces!

I’m AmirReza PourAkhavan, the former Codeforces Contest Coordinator. I let the story become complete and I’m sharing it now.

The story is about a 16-year competitive programmer, who left his family and migrated to another city alone to follow competitive programming. After seven years, he advanced to the International Collegiate Programming Contest World Finals, twice.

Read the previous parts: 1, 2, 3.

Read the Persian version here.

What happened previously

I was a lone programmer, in a small city, trying to learn CP and prepare for the Iran National Olympiad. It was not as successful as I expected. I tried to change my school and I immigrated to Tehran, alone. I entered AE high school to learn from its inspiring teachers. I grew a lot there, I was about to win a gold medal.

Second Stage

Stage Two takes place over two days. The first day is a multiple-choice exam and the second day is a descriptive exam. The multiple-choice exam had 25 questions. On the first day, I managed to solve 17 out of 25 questions. I thought that probably I had very few mistakes.

The second day of the exam started with a familiar question. Right after seeing the question, I felt it could be transformed into a question that was discussed last week in the graph class. I started to attempt the question that was discussed in the graph class. A lot of time passed; more than three hours. Eventually, the space provided to write the answer for the first question was filled up, and I finally gave up on solving this question.

I moved on to the second question. The second question was solved in twenty minutes. There were about forty minutes left in the exam, and with the anxiety I had, I couldn't solve any other questions.

When I came out of the hall, I was confused and stunned. I was knocked out when I realized that my solution to the first question was fundamentally wrong. I took the metro home. When I arrived, the answer key for the multiple-choice questions was published. I started to calculate my result. I counted my mistakes... one... two... three... up to six. I opened the calculator. I calculated my percentage. It turned out to be 38 percent.

I fell from the chair to the ground. Tears quickly filled the ring around my eyes and spilled out of my sockets. Behind the sparkle of my tears, it seemed as if the house's ceiling was undulating. For a moment, all the codes I had written flashed before my eyes. In a moment, heavy-lights, centroids, all data structures, algorithms, and all the Codeforces problems flashed before my eyes. All the 1,200 problems I had solved on Codeforces. Perhaps no moment before or after that did I feel so broken this much. I have never been so upset. Even recalling this memory is not easy for me.

Nine months away from family, difficult commuting conditions, the pressure from other students and teachers towards me, and sleepless nights, all went up in smoke. I couldn't believe it. I started to argue with a classmate about my mistakes, but unfortunately, the answers were correct, and that 38 percent became my final score.

One of the images sent during the argument

I was not in a normal situation. That afternoon, I went for a walk with my family. I didn't know what would happen. I vomited everything I had eaten during those two or three days due to the psychological pressure. The memories I have from that afternoon include nonsense moments, hollow laughter, a head on the verge of bursting, a weak body, and a wounded soul.

When I woke up in the morning, my whole body was covered in pimples, even the scalp. Those few days passed with me worrying about what my score would be and how much the cutoff — the minimum score required to pass — would be, accompanied by sighs and regrets.

We returned to school. Mr. Asadi came to review our performance in the second stage. He calculated my score and estimated my chance of passing at 15%. When I came out of the counseling room, I was dazed and confused. Not that I wasn't prepared for this, no, but to hear within a few days from someone that I will win gold and now hear that I will not pass the second stage was a heavy blow; it hit me on the head. It hit me, and a few minutes later, I broke down crying in the school's congregational prayer line. It was the first time I had cried during prayer.

I felt like no one was acknowledging me. I remembered when I had come to take the entrance exam, the school manager told others, "So this year, we will have a gold medal from Yazd!". But after what happened, it seemed I had been forgotten. Now, looking back, it may not have been so, and my heightened sensitivity could have been the reason for this feeling.

On the other hand, others — not my schoolmates — approached me. These people played a significant role in helping me digest what had happened. In fact, they had a profound impact on my personal growth.

From that day on, I started wearing black clothes. Even the next year, on the anniversary of phase two, I dressed in black and dedicated the day to crying and mourning.

I wanted to fail myself in the school exams so I could participate in the Olympiad next year. But when I inquired, I found out they had made a rule that this couldn't be done.

The final school exams started. I didn't care about the exams and practiced coding instead. As a result, my average score was just over 15.

Return to Yazd

After the intense crying subsided, disappointment gave way to a feeling of vengeance. In the short time (about forty days) between the second stage of the Olympiad and the announcement of the results, I coded day and night. The number of my solved problems on Codeforces went from 1200 to 1500. Mehrdad Saberi, who won a silver medal that year and a gold medal the next, said, "Arpa is coding more seriously now than all of us," meaning that someone who knows he might not get accepted is taking it more seriously than those of us who know we will be accepted.

We gave back the house we had rented since, had I been accepted, I would have had a dormitory for the summer camp. Summer camp is part of INOI in which students have some classes and exams and finally, the medals will be determined. I returned to Yazd, to home. Not just me, but our entire house was engulfed in sorrow. Those days were spent in tears, sorrow, and both live and virtual contests. Alongside these sorrows, I grew personally through my acquaintance with these new people.

On Saturday, July 2, 2016, at night, the results were announced. I received these messages from one of the guys:

[03.07.16 03:03]
Hello, the best thing I can say to you is that I'm really happy you didn't get accepted.
[03.07.16 03:04]
Of course, since you're dumb :joy:, I'll clarify the sentence for you.
[03.07.16 03:05]
I mean, you've become so strong that if you had come to the summer camp, you would get a gold medal, and you took the
bread out of our mouth. :))

I wasn't in the mood for anything. I filed an objection, which was naturally rejected. And that was it. My student Olympiad dossier was closed. To this day, I sometimes dream that I am sitting for the second stage of the Olympiad. Sometimes I dream that another opportunity has arisen for me to participate in the Olympiad.

Next day afternoon, a channel posted the following:

Hello and congratulations to the kids who were accepted or not!
After all, it's destiny!
Someone said that everyone's chance is the same! But I don't believe in it!!! I don't believe in luck at all! I remember when Master Shifu told the Kung Fu Panda that nothing happens by accident (XD)
But I do believe in another correct thing that has filled my left side! And above all, I'm eager to try again, and that is God loves me! That's enough for a person to steer all life events towards the main goal!
Perhaps the smallest difference between these two beliefs is that I haven't lost anything, but he has! And I don't want to go back, but he wants to! And I'm not upset!
Now that we're in the 10th grade! There's an 11th-grade one among us who has put in a lot of effort for us! Well! Maybe this year he could have been one of the gold medalists! But God liked it this way for testing! Yeah! It seems that he has worked hard enough! And well, nothing has happened! Arpa, I hope you get a good rank in the university entrance exam, maybe first place!
Therefore, there's no reason to be upset if you weren't accepted as long as you tried!
"With water on determination, you can turn soil into gold
I was wrong to spend my life seeking alchemy"
Goodbye, our hero :D

Around that time, the idea of holding a programming competition came to mind. I can't exactly remember whether the idea was mine or Mehrdad Saberi's, but eventually, we decided to hold a competition. Gradually, we began collecting problems.

A few days later, I registered at Kanun (Ghalamchi). Kanun is the most famous organization for Iranian students to compete in normal school subjects and prepare for the National University Exam (konkour). Little by little, I started studying school subjects again. I couldn't quite bring myself to enjoy studying. But the subjects weren't that bad. For example, I remember I was studying optics in physics, which wasn't a bad topic.

At the same time, I started teaching in Yazd. Ali Tavassoli (AliTavassoly) had finished ninth grade at the time and was two years younger than me. He had emailed me a year earlier, asking me to show him the way. During that year (the summer of 2015 to the summer of 2016), we didn't have much contact, mostly just a few emails. But from the summer of 2016, our relationship became closer. Ali had learned the basics of programming and combinatorics. Throughout that summer, we had classes every Friday afternoon. Thus, Ali became my first student, even in the twelfth grade, the year of my university entrance exam! Our classes were about programming, and I taught him basic algorithms.

Left: Me and Ali Tavassoly, Spring 2022, right: Ali Tavassoly, Summer 2018

I took my first Kanun exam. The result was worthy! I took place 1100 (country-wise). I was happy. But one thing still remained a constant in the story: crying. I was still mourning the lost gold medal morning and night.

Since going to the Atomic Energy High School, my former school — Shahid Sodoughi — could not enroll me for twelfth grade. As a result, I had to find another school: Imam Hossein High School.

In September, I returned to Tehran to improve my school grades. I stayed at a friend's place. There was a significant gap between exams, so I had the opportunity to do other things. That year, Mojtaba Fayazbakhsh was responsible for the programming class of the summer camp. He agreed to let me attend his class. I didn’t do anything special, just helped out the kids a bit.

Thus, I entered the dormitory for the summer camp. I was with the kids. Sometimes we would even bet on virtual contests! In short, I did everything except improve my school grades! In fact, my scores even dropped in two subjects compared to before.

Me and dormitory kids

After those twenty days, I returned to Yazd again.

Twelfth Grade

The first exam of the twelfth grade was good. I ranked first in the school. However, this was not very important because the school was not a good one. For me, who had studied at Atomic Energy, it felt like a fall from grace. I could hardly relate to anyone at the school. Not the kids, not the teachers, not the officials. We were from two different worlds.

The kids didn't seem interested in connecting with me either. They saw me as a proud creature who separated himself from the group. In school, there was only one person with whom I could make a connection. Despite our profound differences in foundational thinking, it was still better than absolute loneliness.

Naturally, I was doing well in terms of studying compared to them, so I had a good relationship with the teachers.

Early in the academic year, Mehrdad and I got serious about organizing the contest. We planned to hold it on Codeforces. We sent our ideas to the coordinator at the time (Gleb). About a month later, on November 22, our competition was handed over to Nikolay Kalinin (KAN), and we continued the journey with him. Some details are described here.

While I was busy preparing the contest, I received advice from my family and especially the school. It got to the point where the school principal personally advised me to study for my lessons instead of focusing on such activities. But the truth was that the profound impact that organizing this contest had on my future was incomparable to the time lost for university entrance exam preparation.

During the preparation, a large number of problems were discarded, and others were selected as replacements. The final problem set took about a month to prepare. During this short period, I studied less, and my mind was occupied with the contest.

Our contest was not an ordinary one. We had drawn photos for all the problems. The problems had reasonable and interesting stories and were encompassed by an overall theme. Altogether, we took it very seriously and we tried hard.

The drawing for problem Div. 2 B of our contest

On the day of the competition, an unprecedented and crazy incident occurred on Codeforces. Due to this hardware incident, MikeMirzayanov decided to postpone the competition by five days. The contest’s blog post was hit with an endless stream of downvotes. I wondered how this could happen! Such an incident was unprecedented in Codeforces history, and it happened on the day of our contest. I saw this as a misfortune and added it to the bad luck of stage two.

Days passed, and the contest day arrived.

To be continued...

Tags hope, story, giveup


  Rev. Lang. By When Δ Comment
en4 English Arpa 2023-11-22 18:10:58 9
en3 English Arpa 2023-11-20 12:49:38 65
en2 English Arpa 2023-11-20 10:10:25 6
en1 English Arpa 2023-11-20 10:08:46 15070 Initial revision (published)