Practice (“smart practice” to be precise ;) ) is the key for performing well in competitive coding – Man Mohan Mishra, ACM ICPC World Finalist 2015-16.

3 min read

After a fierce battle of codes at the ACM ICPC 2015 – 2016 Indian Regionals (Amritapuri, Chennai and Kolkata), we finally have the teams which will be representing India and their respective institutions at the ACM ICPC World Finals 2016 at Prince of Songkla University Phuket, Thailand. If you are a programmer, you certainly would have or still has the dream of representing your nation/institution at these coveted programming contests. However, we all know, there can only be one winner, and in case of ACM ICPC World Finals, there can only be certain number of teams.

As Henry David Thoreau said, β€œSuccess usually comes to those who are too busy to be looking for it.” We are sure that every one of these individuals would have strived hard to be where they are right now. And, that is what makes it even more intriguing to find the secret behind their success. But, we will save you all the guessing time and bring to you the secret straight from the horses’ mouth. We have already snatched some valuable time from their busy schedule interviewing them and will be sharing the experiences of ACM ICPC Indian World Finalists starting this week. We are sure their insights and experiences will be inspiring and resourceful for everyone aiming to make it big in the world of competitive programming. So, sit back and enjoy them. Also, do not forget to send in your wishes for your favorite team, feel free to tag us in your cheer messages or use the following hash tags #ICPC2016 #GoForGold #CodeChef.

The first in the series of interviews comes from Man Mohan Mishra from IIIT Allahabad. Here comes his profile and the interview.

  • Team name: Greed_for_Speed
  • Team rank:
    • Amritapuri regional: #25
    • Chennai regional: rank #3
    • Kolkata regional: NA

How old were you when you started programming and what got you started in programming?

I started programming in 1st semester of my graduation. I didn’t have any previous experience in programming during my school. So, things were kind of new & challenging in the beginning.

What inspired you to get into competitive programming? Were you passionate about it since school or anything special in college?

Major role in my involvement in competitive programming was the motivation and inspiration from my seniors. The environment of competitive programming is quite healthy in my institute (IIIT Allahabad). So, I came to know about competitive programming through seniors and I started it.

How to start preparing for ACM ICPC for those who are new to algorithms and competitive programming? It would be great if you could share your journey from a beginner to a World Finalist today.

As I recall my journey, I started mainly with SPOJ in my 1st semester. Along with it, Uva was really helpful and I am sure it will be of high help for any beginner. Though tutorial of problems are not available over these judges, but the time spent in debugging a code or finding the mistake in your logic also teaches you many things. After practicing on SPOJ for like 6 months (and solving nearly 100 problems), I started participating and solving problems on Codechef and Codeforces. I loved the contests hosted on both these websites and I hardly missed the contests hosted on them. Slowly, I started solving problems on Topcoder, Hackerrank and Hackerearth. In my 5th semester, we (I along with Aditya and Shiva) formed a team and started practicing in team contests. Codeforces gym was very helpful for team practice. We also listed down topics (Data structures and algorithms) and divided those among us so that we may get more time for focusing on our individual topics. We also participated in gym contests in our labs using only 1 system during the contest.

Can you throw some light on how did you and your team manage the time and coordinate during the onsite finals? It would be great if you could share some tips for the next year ICPC aspirants.

I believe my approach towards competitive programming was not the ideal one. I used to participate in live contests so much (100+ codeforces rounds till date). If I get another chance now (from 1st semester of course πŸ˜› ), I would list down the topics and I’ll learn each topic in 8-10 days using online tutorials/blogs and then I’ll spend 4-5 days to solve problems based on that topic over various online judges. In this way, a large number of topics can be covered in 1-2 years.

Finally, about the coordination inside team. This part is very important. To reduce the panic and chaos during onsite contests, we practiced in a lot of team contests keeping the environment as similar to onsite contests as possible. Every member of team must formulate the process on paper before starting to type the code.

What did you do to improve over these years and maintain your target status for all these years with all the competition? What do you think was your most effective method to improve? Any hacks on how to reach where you are in less time ;)?

In the end, I firmly believe that practice (“smart practice” to be precise πŸ˜‰ ) is the key for performing well in competitive coding.

Hope you enjoyed the interview πŸ™‚ We are coming up with more, stay tuned!

Team CodeChef

A Round-Up Of The AIM ICPC Training Series

The International Collegiate Programming Contest, better known as the ICPC, is the ultimate dream of every college going competitive programmer. The contest, which is...
2 min read

ICPC Training Series | Your Chance For Glory At…

Every competitive programmer dreams about leaving their mark on the coding world. A sure-shot way of doing that is by performing well and making...
2 min read

In Conversation With The CodeChef SRM College Chapter.

The Sri Ramaswamy Memorial (SRM) Institute of Science and Technology is a popular college based in Tamil Nadu that offers courses from humanities to...
4 min read

7 Replies to “Practice (“smart practice” to be precise ;) ) is…”

  1. Yeah, really helpful. But on codechef they decrease my points even i solve question during contests as much as I could. So what should i do to go on and my rating will decrease or wait for few months to get a grip on algorithm and then take part in contests.

    1. If you like participating in contests, carry on, but along with it, learn new algorithms and upsolve questions after contests so that you may feel the progress after 3-4 months πŸ™‚

    1. As far as I know the Codemonk series of hackerearth is good one for learning the algos. Moreover if you know what is the algorithm which you would like to learn you can always check the tutorials by topcoder. Topcoder have awesome collection of tutorials

    2. I generally prefer editorials of problems as reading materials. Editorials have a lot to teach even if you have already solved the problem πŸ™‚

Leave a Reply