Ten years of competitive programming 2

Revision en4, by Arpa, 2023-03-27 11:45:06

Hey Codeforces!

I’m AmirReza PourAkhavan, 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 post here.

10th grade

Trying alone

In my tenth grade, the situation got worse. Before that, at least, I had some colleagues and at least a class per two weeks. But in the new grade, these brights disappeared too. Still, I was trying to do it alone. I remember when I learned the Dijkstra shortest-path algorithm and implemented it for the first time, how happy I was.

Suddenly, my rating growth started. As you can see, my rating in Oct ‘14 was 1057 (minimum rating) and In Feb ‘15 I achieved 1761. Those years, >= 1700 was Candidate Master and Div. 1. The special thing is, my rate growth was not because of my endeavors in that tight time segment. In fact, a year of trying and losing ratings resulted in a big jump: a 700 jump in ratings. I got so much motivation. I was doing well in contests.

In the first stage of the national olympiad, I achieved a weak result. The good point was, it has no effect on the outcome of future stages. This didn’t affect my motivation.

I was not participating in ordinary classes in school and raising the bet every day. I went to school from 7 AM till 10 PM, not participating in the classes but instead, I went to the site (the room in the school where computers are located). I went there to study, but there was a problem. Sometimes, we played games, and sometimes a lot. It had two reasons: colleagues and myself. I sometimes felt low motivation. I think the main reason was the lack of a mentor. When you don’t have someone that monitors you and tracks what you are doing, you lose motivation, and play games instead of studying, I think. Playing games didn’t only waste my time, but also made me less motivated and made my will weak. This is a black cycle, you waste your time, you lose motivation, you will become weaker, and you play more. I encountered this black cycle. I remember that sometimes I played for 5 hours. The game we played was Counter Strike 1.6.

I started studying for the next stage. I was taking exams for the previous years and I was good at them. Sometimes, I finished some of them with perfect scores. The second stage of INOI is about combinatorics and graphs. Sometimes it has algorithms too but everything is on paper. Because of this, in February I switched to studying theoretical topics (like counting) instead of coding.

One of the problems in the second stage of INOI, that year

The second stage was held in May (2015). I participated in the exam and I felt it was great. When we were exiting the exam hall, during a discussion, I realized that I missed a sentence in the first problem and missed 15 points. It was not a problem, the overall score was 300 and I thought my score would be still 149 and 15 points were not important. Anyway, the exam was finished. I felt that I’ll pass this stage as, in the previous years, the score for getting passed was something like 130 out of 300.

Again, I switched to coding. The playing issue was getting worse. I was trying to stop gaming and instead coding, but I was not successful. As you can see, I was losing ratings slowly at that time.

Results published

Time passed, and publishing the results of the second stage was near. It took almost two months from the exam to the results being published. In the old times, channels on messengers were not popular. So you need to check the Iran National Olympiad website manually to know if the results are published or not. Students were refreshing the website each moment you know. I implemented a PHP code and ran an RSS server. RSS is somehow deprecated nowadays. My code fetched the website every minute and pushed a notification to all of the registered devices to the RSS server on changes. It was fun.

On 8th July 2015, I lost my grandmother. It was sudden. She was in the hospital for just 10 days and we lost her. Because I expected that I would be at the funeral for several days, I asked my friend, Alireza Tofighi (ATofighi) to call me when the results were published. On the 9th, at about 3 pm, AliReza called me. When he said “hello”, I got everything. He was trying to somehow help me in that sad situation. My name was not on the list of passed students. I said: “Please take a look at all the lists again and again”. But the answer was no, again. However, Alireza passed the exam.

I found an empty time slot, lied next to my grandmother's grave when no one was there and cried for a long time. As a fifteen years old boy it was my first defeat in my life, and it was so hard. I was unable to digest it. I thought of the time I waste playing games. I was remembering a quote: “The tears we shed after every failure are actually the sweat we didn't shed for success”.

Soon I got the details about my result. I scored 113 out of 300 on the exam, so much less than I expected. It was because I didn’t know “how to write”. I solved the problems, but my writing was not proper and I lost so many points in many problems. The passing score was 126 that year. I was sorrowful that if I read that sentence I would get accepted.

Change it!

Suddenly, I decided to change the situation. It was a blind and unreachable idea at first. I thought that if I go to a better school, I can perform better next year. There are a few schools in Iran that have an olympiad department alongside normal students. Almost all of the medalists in every olympiad (informatics, math, physics, …) are from one of these schools. The two most known schools are AE high school and Allame Helli. In the schools with the olympiad department, the department holds olympiad-specific classes regularly. For example, in the informatics department, students have classes on algorithms, coding, combinatorics, and graphs. So their main focus is on their special classes, while they have minimal ordinary classes too.

I started to talk with Mehrdad Saberi Batman who did the same. He was studying in a non-popular school and switched to Allame Helli at that time. I talked to my family about this. At first, they become confused. It almost never happened in my town that somebody changes his high school. It was a very rare and strange thing. I started to explain why I need this. I’m happy that I had a family that always supported me. They started to think about it. My father clarified that he and my mother are working in our city and it’s impossible for them to migrate to Tehran (the capital, where good schools are located). He said: “I can support you and rent a house, but it’s impossible for us to migrate”.

Allame Helli high school

The process started. I asked for an official migration request from our school. I wanted to go to Allame Helli. To change my school, I needed to do a special routine in NODET (National Organization of Development of Exceptional Talents). NODET is an organization in Iran that takes care of talents before university. NODET has schools in some cities, depending on their population. There are ~600 NODET schools in Iran. A student can migrate from a NODET school to another in special cases. I was studying at NODET high school in Yazd and Allame Helli is one of the NODET schools in Tehran. Soon, my family and I went to Tehran to follow the migration process. The Allame Helli high school welcomed me. But the school's approval is not enough for migration, I needed NODET approval too.

NODET has ten high schools in Tehran. Allame Helli is one of them. Other schools have a big gap with Allame Helli. So I needed approval not only for migration to Tehran but also for getting into Allame Helli. I brightly remember when we (my parents and I) went to the NODET office to get approval. There was a non-friendly man. He was responsible for processing my case. I asked him if it’s possible to get into Allame Helli and he said: “See if you are allowed to enter Tehran or not!”. He meant we may even not accept you in any school in Tehran (what about Allame Helli). He humiliated me as a student studying in a small city.

Not only I but also my parents were so upset after we left his room. One of the staff there saw my father in that mental state and asked about the story. After my father described the story, he suggested we call Mr. Shahsavari. Shahsavari was (and currently is) the manager of the olympiad department of AE high school (which is a competitor school with Allame Helli). AE is not a school under NODET, it's a private high school. Soon, we contacted him. I told him that we can’t afford the huge amount of school costs. The cost of AE was three times the cost of Allame Helli and the cost of Allame Helli was three times the cost of my previous school. He kindly replied that we’ll help you.

Last days in hometown

We went back to Yazd. The situation was almost clear: I was going to AE. A few days later, a strange thing happened: Someone from Allame Helli called my father. He welcomed and respectfully said that we resolved all things related to NODET and we’re ready for registration of your son. I don’t want to go deeper in this part and judge what happened. Anyway, I talked to several people about this and finally concluded to go to AE.

Still, the game problem was with me. I lost my rating and was under my maximum by 100 ratings. On the 25th of September 2015, in the afternoon, I played “Teeworlds” for the last time and removed it from my laptop. September 26th was my first day in my new school. I told myself that I’ll never come back to play and I’ll focus on studying as much as possible. I was changing…

Read the next part here.

Tags giveup, story


  Rev. Lang. By When Δ Comment
en4 English Arpa 2023-03-27 11:45:06 70
en3 English Arpa 2022-11-07 19:58:44 9 Tiny change: '7465).\n\n[cut]\n\n10th g' -> '7465).\n\n\n[cut]\n\n\n10th g'
en2 English Arpa 2022-11-07 19:57:41 7 Tiny change: '7465).\n\n\n10th g' -> '7465).\n\n[cut]\n\n10th g'
en1 English Arpa 2022-11-07 19:51:56 11089 Initial revision (published)