We are back with our ACM ICPC World Finalist’s interviews. As we move closer to the World Finals, it’s just the perfect time to have a look back at the journeys of our World Finalists. Today we have Anubhav Bindlish of Team “11coders” from Indian Institute of Technology – Roorkee. Let’s hear it from him. But before that, let us give you a brief info of his team.
- Team name: 11coders
- Team rank: 2nd in Chennai Regionals
Q. How old were you when you started programming and what got you started in programming?
A. I was in class 11th when I started programming. I had it as a subject in school.
Q. What inspired you to get into competitive programming? Were you passionate about it since school or anything special in college?
A. A friend introduced me to competitive programming. It was in class 11th as well. I guess I always enjoyed solving puzzles, and that is why I found competitive programming interesting. I qualified for INOI but could not prepare well for it as I had to study for JEE entrance at that time. Participating in it was still a fun experience though!
Q. 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.
A. I started competitive programming in 2010, and at that time the programming circle in India was not as active as it is today. When I started, I had doubts but didn’t know anyone who could resolve them. As a result, I didn’t really learn much in the first two years. The problems I solved were mostly adhoc in nature. Upon joining college, I became part of a programming group in campus. This I believe has been a most important factor in my growth. We had some inspirational seniors who we would look up to. Furthermore there were group ‘lectures’ (quoted because we really hated the word ‘lectures’:P), where members would share whatever little knowledge they had. This helped us collectively learn new concepts and techniques. Then I used to participate in contests and read editorials of unsolved problems to learn new topics.
Qualifying for the World Finals is really a dream come true for me. This was our last attempt at the Regionals, and I am happy that we gave in everything we had while preparing for it. Before the Chennai Regionals, it was almost as if we were giving a team contest every other day. Practice and perseverance are key to achieving anything in life, and competitive programming is no different.
Q. 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.
A. The Chennai onsite was a really good experience! (Food and accommodation aside :P) Usually when we give contests, we are off to a flying start but then we lose track somewhere towards the middle or end. The Chennai onsite went completely opposite! We had a slow start, and as far as memory serves, even after solving 3-4 problems, we were still not among the top teams of the leader board. What worked to our advantage however was that we managed to make continuous progress throughout the contest? It was after solving our 6th problem that we came second in the leader board for the first time, and we knew we had a good chance of clearing the Regionals.
In several of our past contests, we had had a lot of penalties. As such we specifically wanted to minimize them in the finals. This is why, we took our time before submitting solutions, and mostly got them proof read by another teammate before submitting. As a result we had just one penalty overall (which too required exactly a single character change). Even though we lost out on time because of this, we are glad we made this bargain.
If you’re planning to participate in ICPC anytime in the future, my advice for you would be simple: remember this is a team contest. No matter how good you are individually; if your team is not balanced, it becomes really difficult to win in the Regionals. When forming your team, try to find members with slightly different areas of expertise. Have good interaction with them and try to give as many team contests as you can.
Q. 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 ;)?
A. I think participating in as many good contests as you can is an effective way to learn. But this only works if you find out the solutions to problems you could not solve in the contest after it ends. Otherwise you’ll feel that you have saturated after a point and there’s nothing more to learn. There are an insanely large number of tricks and techniques that are useful in competitive programming, and we can only learn these over time with practice. Then there are some really talented Indian programmers who are performing well on online judges. We should look up to them for inspiration!
Q. Do you have any other thoughts as we wrap up?
A. First of all, I’d like to thank CodeChef and the other Indian programmers who have been making commendable efforts to improve the programming culture in India. It’s no doubt that the Indian programming circuit has come a long way in the past few years. Sure, we still have a long way to go before we can compete with the best in the world, but I’m positive we’ll get there eventually.
We hope you enjoyed the interview. We have few more in the pipeline and will be publishing them soon. Till then, share this interview among your friends, and family and send in your wishes and questions for them. #GoForGold.