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!