When submitting a solution in C++, please select either C++14 (GCC 6-32) or C++17 (GCC 7-32) as your compiler. ×

mail154's blog

By mail154, 7 years ago, In English

Hello,

This is the thread to share some of your competitive programming stories and memories.You can share details (but not limited to)like how did you started competitive programming, what's your goal then, some of your proudest moments/achievements and the like. The answer doesn't need to be strategies for improvement but your stories that may inspire people like me.

Thanks :)

  • Vote: I like it
  • +74
  • Vote: I do not like it

| Write comment?
»
7 years ago, # |
  Vote: I like it +57 Vote: I do not like it

Before March of last year, I didn't know how to code. I mean, I had had some classes at college and at high school, but I never passed from "Hello World!" or stuff like that. One day, a friend of long came to me really excited, and he told me: Look to these contests, they seem really nice. While in high school, I had participated in Mathematics Olympiads (IMO), at a national level, and several of my Friends there also participated in informatics (IOI). They were very excited about it, and when I was given the chance, I said: why not? I learnt the basics of c++ in little time, and I started to code.

At first, I thought that competitive programming would be easy for me: a simple application of math thinking. Codeforces humbled me when I could only solve 2 problems of Div 2 contests. It was tough. Nevertheless, while reading about algorithms and data structures, I became amazed about how some problems had very efficient solutions, and well, they were beautiful. I began training 3-5 hours per day, and I improved significantly. I read a lot, and I have implemented a lot of problems. In summer, I proposed to my teammates the purpose of arriving to the World Finals, and to get to the better half, if possible. During the semester, I could not afford to participate in contests, as normal rounds happened during classtime. However, as soon as I started my hollidays (and I could participate in contests), my rating grew like 250 points, and now I can solve consistently until D's. My proudest moment was when in a sub-regional contest, my team finished seventh, and we solved the same problems as the best team in the region.

I am not too experienced in competitive programming. I know that many people have had a whole life in contact with it, but I started late, which is a shame, as programming is such a rewarding activity. But this is my story. Hope it inspires you :)

  • »
    »
    7 years ago, # ^ |
      Vote: I like it +3 Vote: I do not like it

    Can I ask how you trained? Did you just find random problems to solve or did you train in a specific way?

    • »
      »
      »
      7 years ago, # ^ |
        Vote: I like it +7 Vote: I do not like it

      When I started, I did problems by subject. I choose one tag (mainly dp, as some friends that have more experience told me that the main ability in competitive programming is dp), and I solved as many problems as I could. If I got really stuck, I checked the editorial, and I implement it. As I progressed, I needed less checks to the editorials.

      Recently, I changed to a contest-oriented training. Whenever I skip a contest, I register to virtual participation and I do it later. Also, sometimes I go to the Gym and solve one of the contests of Training Seasons (though they're quite hard :/), also in virtual participation. After finishing, I try to solve the problems I didn't do

    • »
      »
      »
      7 years ago, # ^ |
        Vote: I like it -16 Vote: I do not like it

      Can I ask h-ow you train-ed? Did you just find ran-dom pro-blems to solve or did you train in a sp-ecif-ic way?

      • »
        »
        »
        »
        7 years ago, # ^ |
          Vote: I like it +4 Vote: I do not like it

        A few days I just do random problems. However, I mainly check if there are recent contests I have not done, and do them virtual, or I focus on one subject, look for problems with that tag, and solve many of them

  • »
    »
    7 years ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    Is it your real name Saul Alvarez?) Just, there is a mexican boxer Saul Canelo Alvarez:) Who knows, maybe he is a competitive programmer at the same time :D

    • »
      »
      »
      7 years ago, # ^ |
        Vote: I like it +34 Vote: I do not like it

      He switched from boxing to competitive programming to avoid Gennady.

    • »
      »
      »
      7 years ago, # ^ |
        Vote: I like it +1 Vote: I do not like it

      Yeah, that's my real name. I'm not the boxer, though :/ Nevertheless, in both sports, it seems that the best guy is called Gennady.

      • »
        »
        »
        »
        7 years ago, # ^ |
          Vote: I like it 0 Vote: I do not like it

        In both sports Gennadies are the bests :D It's interesting to see someone from Mexico who says that Gennady is stronger) I am from Kazakhstan and as a fan of GGG, surprisingly, I think that Canelo has chances to beat GGG. Anyways, we will hopefully see that on September of this year, probably on Estadio Azteca stadium)

        • »
          »
          »
          »
          »
          7 years ago, # ^ |
            Vote: I like it 0 Vote: I do not like it

          Actually, Canelo is kind of controversial in Mexico. Many of us consider him nothing extraordinary (not Julio Cesar Chávez nor Golovkin level). I don't see him with good chances against Gennady. Nevertheless, it has to be a good fight. I hope that the fight is in Azteca, but I think it will be in Las Vegas, as always :(

  • »
    »
    7 years ago, # ^ |
      Vote: I like it -15 Vote: I do not like it

    and you could make it to yellow in 9 months :0 o.() amazing :O

»
7 years ago, # |
Rev. 2   Vote: I like it +14 Vote: I do not like it

See my first submission at CF: 11144963. It was at 2015-05-19 17:17:21. If you see some more submissions then you will find there are many submission with the time pattern 2015-05-**

That was the start, I started it well. That was not the first time I wrote code. I wrote a few web crawler, mostly for downloading new musics, chess match updates, ... . A few games like Tetris, Sudoku generator, and similar. That was one year ago before the first submission at CF.

Before that, I lost interest in my formal education, so, I had a lot of time to spare, wasted in playing chess, poker and bridge. I don't recall how I was introduced to overthewire. I learn't C language just to play the game Narnia. I didn't go so far, but I see, how exiting peoples idea's can be. How a design flaw of a language causes programmers to write buggy code, and sometimes even I could write a exploit to use it at my advantage.

Then I decided to learn programming, learnt scheme as my second language(The review of SICP very positive, So, I had to actually). And in the meantime I managed to get myself admitted in a public university in my favorite subject (guess what? CSE).

Three more month passed, and that was the day my first submission was made. I do not practice or participate in contest regularly, for mostly 2-3 week after a break of 2-3 month. Two month ago I participated in my first ICPC, failed diligently( :D ). Now, Its time to improve my skills. Working hard for a month, I wish I can continue it, Maybe I can manage it to reach in world final someday.

The time is short, I must be a superhuman if I can do it(...).

»
7 years ago, # |
  Vote: I like it +6 Vote: I do not like it

I participated in a UIL Computer Science competition during high school my junior year. It consisted of a written test and a hands on test(12 problems 2 hours to solve as many as you could). My team won the district competition and we advanced to the regional contest. We were so happy!! We won the regional contest and we saw that it was getting a lot harder, but we thought we were really good. We advanced to the state competition. There we were certain that we would be in one of the top 3 places, but we were so wrong. It was extremely hard for us. we got wrecked. So I studied a lot to prepare for next year's competition. I started watching competitions like google codejam, topcoder, and other competitions. I saw how good everyone was. I was shocked with the fact that if tourist was 12 or 13 years old, he could beat my whole team 1v3 xD. So he inspired me to practice more. Finally the competitions started, and just like the previous year we advanced to state, and we still got wrecked.

I think we practiced more for the written test than for the hands on. We were the team with the highest(or maybe almost highest) individual scores added up together, but we had the lowest hands on score. In our defense, we learned everything by ourselves. Just the basics from our teacher.

It was a good experience and I had the chance to compete against talented students.

»
7 years ago, # |
  Vote: I like it +63 Vote: I do not like it

I was unrated once.

»
7 years ago, # |
Rev. 3   Vote: I like it +18 Vote: I do not like it
WARNING: Its gonna be long, please bear with me!!
It has been an wonderful journey for me, full of ups and downs(You can see that in my rating graph.)


(Ignore the tabs bookmarks and other unnecessary details please)

I am currently 16 years old studying in high school in 11th grade from India. I was never even fair in programming. I was not even good with computers. I could not even cope up with the school curriculum, let alone programming competitively. And to be honest marks in high school really matter here.

It all started when I scored a painstaking 52% in my exams on computer in my 10th grade. My teacher was furious and I was embarassed in front of my classmates. 10th grade is pretty important and it was crucial for me to pass. I am always the average student, never been better than just "average". Realizing this kinda got me, and I tried to find ways to motivate myself to study codes given in the books so that I can just mug it up and somehow just get decent marks. Studying is never "fun". It occurred to me..."Why don't I start studying from the internet, people must be teaching in pretty interesting and intuitive ways out there. And thus....after a bit of playing around with google, I stumbled upon TopCoder. got to know you could earn money from coding!! Me, being greedy, :P I started looking up ways to learn programming fast and soon learnt some basic JAVA(It was in my school curriculum) but then I found out you need to learn a lot more in Design and Development tracks.

That's when the "Competitive Programming" track fell onto my eyes. I started solving some problems...looking at others' codes and it was absolutely beautiful to know how some problems can be solved so easily and efficiently. And these brain teasers are what I wanted to challenge myself my whole life!! Of course I wasn't good at all but still I decided on starting to participate in contests and ended up being placed in grey :P Then soon by playing around I introduced myself to Codechef, and then Codeforces. I started solcing problems in both. You may see that my first code is written in JAVA(I use C++ now). I started progressing and enough confident now to start contests. My rating graph shows how bad I was at it when I started! Thank God I met vatsal. He introduced me to C++ language, the core of competitive programming, many concepts(I didn't even know what DP meant before I met him). Anyway, I started learning, I stabled my steady decrease in rating and started getting positive rating overtime.

Of course, I am not even a Division 1 competitor(Of course, it would be great if I reach that) but I am motivated and I am ready to practice unless I make it to being called one of the best competitive programmers in my country(A long way to go but not an impossible goal)

And of course I made some very close friends along the way, who have been very helpful to me at times: chess.vivekgupta, yogesh01, arpan82000, vatsal, LOLBYECYALOL, toharshrocks1, raj2000, aashirs, PalashTaneja, Shreeyash and nuttsteltizer. Thank you so much, everyone :D

And also thank you to the Codeforces community! You guys have been a crucial part of each other's adventures in competitive programming. And thank you mail154 for giving me the oppertunity to share my journey.

  • »
    »
    7 years ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    I can relate to being the "average" student in school! :P I only started coding after joining college though. I wish I had gotten to know of it earlier... :/ You have a big advantage there compared to many people in India! Best of Luck! :)

»
7 years ago, # |
  Vote: I like it +4 Vote: I do not like it

In the summer of 2015, I learned of the existence of CodeForces and USACO from a certain minimario. I didn't know how to code aside from some basic javascript tutorials, but I decided to learn C++ and try some problems from the USACO training pages. On my first codeforces round, I managed to solve 0 problems! :D Eventually, I learned enough from the training pages to advance to USACO platinum in December of 2015, although I didn't do that well.

I also joined other sites such as HackerRank, AtCoder, and TopCoder. Starting in the summer of 2016, I did many contests as I could, without much formal preparation. My rating has increased significantly, so I guess this approach is working? I still need to figure out how to consistently solve [easier] Div 1 C's :/

  • »
    »
    7 years ago, # ^ |
    Rev. 2   Vote: I like it 0 Vote: I do not like it

    Wow your graph has quite the trajectory. Are you still in high school? And how much have you been studying per week the past 18 months?

    • »
      »
      »
      7 years ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      Yes. I've been doing at least one official contest per week. Actually, I was mostly preparing for math contests during this time period; occasionally, I would go through the codeforces problem-set and do a bunch of problems.

»
7 years ago, # |
  Vote: I like it +24 Vote: I do not like it

I'm unrated, so there's not much to say. Actually, there's nothing to say.

I hope my story could inspire the future generations.

  • »
    »
    7 years ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    same as me. i hope to be rated some day

    • »
      »
      »
      7 years ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      Hope you guys take part in the upcoming div2 and get a good rating for yourself(Don't hesitate to participate) :D

      • »
        »
        »
        »
        7 years ago, # ^ |
          Vote: I like it 0 Vote: I do not like it

        i took part but i performed poorly, could not solve any problem correctly . am now rated tho. a pulpil

        • »
          »
          »
          »
          »
          7 years ago, # ^ |
            Vote: I like it +1 Vote: I do not like it

          zealsham It doesnt matter :D Look at my graph and see if you could get any inspiration :P

          • »
            »
            »
            »
            »
            »
            7 years ago, # ^ |
              Vote: I like it 0 Vote: I do not like it

            wow, you were a pupil for 5 months. and i just got started and complaining. am inspired already. do you mind if i message you

            • »
              »
              »
              »
              »
              »
              »
              7 years ago, # ^ |
                Vote: I like it 0 Vote: I do not like it

              Yeah I'd say (as hard as it is not to lol) don't feel bad about screwing up in contests (I do it consistently). There'll always be more contests for you try again and hopefully do better in although it doesn't always happen.

»
7 years ago, # |
  Vote: I like it +3 Vote: I do not like it

I'm new to codeforces but I've had competitive programming experience of over a year. Though I haven't improved to my expectations, I hope to improve a lot this year :)

»
7 years ago, # |
  Vote: I like it +28 Vote: I do not like it

I have been doing competitive programming for over 5 years and I'm still faking master. FML.

  • »
    »
    7 years ago, # ^ |
      Vote: I like it +5 Vote: I do not like it

    Well, that's something =)

  • »
    »
    7 years ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    I think the fact that you have done 89 contest is really amazing itself. That really shows dedication and tenacity. Good luck in achieving masters :)

»
7 years ago, # |
Rev. 2   Vote: I like it +9 Vote: I do not like it

I was pupil and after 3 months I became candidate master :D

THE END

  • »
    »
    7 years ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    Wow, not bad. But how many time did you spend on training per day? (Sorry for my english)

    • »
      »
      »
      7 years ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      about 5 hours a day

      • »
        »
        »
        »
        7 years ago, # ^ |
          Vote: I like it +1 Vote: I do not like it

        that is quite demanding considering the fact that am a medical student

»
7 years ago, # |
  Vote: I like it 0 Vote: I do not like it

I've farmed a yellow color here on my fake account (although it's pink now because of that color revolution).
Also found a nice job where I can learn something new and apply my algorithmic skills.

Despite of that I'm still literally shaking during contests on this account. Can't add 2 to 2 and fix easiest bugs. FeelsBadMan

  • »
    »
    7 years ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    Also found a nice job where I can learn something new and apply my algorithmic skills.

    May I ask, where do you work? Most companies don't use algorithmic skills :/

»
7 years ago, # |
Rev. 2   Vote: I like it +14 Vote: I do not like it

I've been programming since I was 12 years old, doing Software Development mainly in C++, and modding Warcraft III under the name Magtheridon96. I did no competitive programming at all until I entered university.

Three weeks into my first semester, I heard about this programming contest (ACM-LCPC), and I wanted to participate, so I went to my advisor's office, and I told him to put me on the team. I didn't know any better. He told me that people trained for these contests and stuff, and they've been training a couple of teams for about 6 months. I still insisted, so he told me: "Look, if you can solve this problem on the board in 1 minute, I'll make a team for you". Of course, I was lucky, it was a Number Theory problem, and I had about 40 problems on ProjectEuler at the time, so I was relatively familiar with the topic (318 problems to date by the way). So, he was impressed, and he put me on a team.

It was the best and worst decision ever. I entered the contest next week, and we only solved 1 problem. It was humiliating. Imagine having a 6-year head start into programming and fucking up like I did. It destroyed me. But you know, it made me feel the need to prove a point: That I don't suck. I got on Codeforces and for the next year or so, I trained all day, almost every day. I was known for hanging out in this one lab all the time and solving problems after and in-between classes.

Fast-forward to April 15, 2015, there was a university math-programming competition. My friend Ra8 was the problem setter, so we agreed that if I won first place in it, I'd be the problem setter in all the coming years. Of course, I won (and in fact, I set the problems for 3 contests so far, and a fourth one coming this February).

Anyway, fast-forward to about 6 weeks before ACM-LCPC 2015. I got an email from one of the coaches of the other teams about opportunities at Google and Facebook. He was impressed because I did very well in that university-math programming competition back in April! I was really excited, and I decided to go for it! I spent a couple of weeks training for the interview, and I did pretty well. A week after the interview, it was time for ACM-LCPC. My teammates and I dominated the contest, solving 6 problems in the first 48 minutes only, and in the end solving 8, and ranking 1st. This was the first time my faculty had won first place in the ACM-LCPC, so everyone was really proud and I finally achieved my goal, and proved my point! It turns out, I didn't suck that bad. The next day, I got Accepted into Google for a Summer 2016 Internship! This was the peak of my university life! I felt like the happiest fucker on the planet!

Anyway, my story doesn't end there. Thing is, both of my teammates were Syrian, and one of them didn't get the Visa to go to Egypt for the ACM-ACPC. It was a horrible contest for us, 5 problems, when 7 were very well within our capabilities (enough to go to ICPC that year). I vowed that I would come back next year and do better.

In January 2016, I started training a couple of guys. We became really good friends, and took courses together and spent a lot of time peer-programming and bonding. These guys are graduating this year, and I'm not (because I'm a double-major with Mathematics). It's pretty sad. We did well in ACM-LCPC, solving 7 problems. The cool thing is, we got First-to-Solve on SIX OUT OF SEVEN OF THEM. This boosted our confidence quite a bit, and we hoped we could do as well in ACM-ACPC 2016.

Yeah, ACM-ACPC 2016, was unanimously declared by all of us, to be our worst performance, in the history of our performances, and the future of all our performances. We were doing so bad during the competition, I asked myself: "Was this all worth it? Should I quit? Am I not training hard enough?"

We came into that contest hall feeling like Champs, on top of the world, and we thought we were going to ICPC, finally, to break the Lebanese record of ZERO, yes, ZERO problems solved at ICPC over the course of ICPC history. Halfway through the contest, we just wanted to leave and go back home. The photographers were taking pictures of all the teams, and they ended up on Facebook a few days later. You could almost see the look of devastation in my eyes during that contest.

It was the shittiest feeling ever. We ranked 36th, after fighting for whatever was left for our dignity in the Blind Hour. When we got out, we felt like we should just give up competitive programming and spend time doing better things like Research and maybe put efforts into side projects. My coach was just as sad as us. We sat there in silence under the sun for a whole hour, just thinking. The hardest part of it all was having to tell my dad that we did absolutely terrible.

There were a couple of bright sides to it all in the end. My buddy Ahmad1 made it to ICPC 2016, after doing bad in ACPC the previous year, and this made me pretty content. I also got accepted for the returning internship at Google, in Mountain View this summer.

I promised myself that I will train both better and harder, and I will come back in ACM-ACPC 2017 and do better than I ever did, and finally make it to ICPC.

That's my story so far.

  • »
    »
    7 years ago, # ^ |
      Vote: I like it +6 Vote: I do not like it

    Being so close to success is more depressing than knowing that there wasn't even hope, I hope you will make it to ICPC next year :).

»
7 years ago, # |
Rev. 2   Vote: I like it 0 Vote: I do not like it

(Just ignore my username, it's just a character who I like)

Anyway, I start coding this August. Before that, I have coded for about 2 years, but pretty much nothing is worth to say.

I get accepted to a specialized high school. That's why I have to learn to code. Unfortunately, I had to code in C++ — a new language to me. Lucky enough, I have had little experience about C and programming before. So after 10 mins of reading some basic functions and lines, I ended up coding pretty fast. I was so lucky that I have a good math background so I can find algorithm with incredible speed, and I don't have to write complicated code which use class, struct, etc.

And then, I heard about Codeforces. Well, that is when my nightmare came. I've never seen so many incredily hard problems like that before. I tried a couple of times, and ended up get only one problem AC which is the easiest one — 1A.

Few days later, my friend started talking about contest. "Yeah, sounds good to me", i said. I totally had no confidence, since I could imagine how hard it would be. And guess what, I was right. Oh well, I solved only one problem.

"That's it, I'm done", I thought.

Even worse, one of my friend actually solved 3 of them. He's ranked purple now, and he's just 15. I just thought "Wow, I never can be as good as him". I felt like I have to hide in his shadow.

Now, I still can't find courage to enter another contest. I still try hard to practice and to learn new things. I want to go to IOI. Oh come on, who doesn't? But that's a very long journey, and it seems to be out of reach. Haizz!

  • »
    »
    7 years ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    Try CodeChef. Maybe you need a cooking theme.

  • »
    »
    4 years ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    Are you a Vietnamese? I just think of it because of the "specialized high school". Just nevermind about my question, it's just my curiousity though