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.
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!
January 2016 came along in it’s usual sinister fashion, brutally ending winter break and the joyous fervour that comes with it. New Year’s resolutions were made and a promise to keep them hangs like a sword over everyone’s heads. If you haven’t made a resolution yet, we have one in mind for you. To our young coders, we suggest you resolve to code often, code well and take on competitive programming with fullest dedication. We will back you up with some interesting contests all year long.
One such contest was the January Lunchtime, the first of the ‘luncheons’ this year. It was quite the heavy lunch with Triangle Classification (TRIANGCL), Exponential Sub-Palindromes (EXPALIN), Peaks (PEAKS) and Table Covering (TABLECOV). Our author, problem setter and tester collectively set the young coders to task. Want to look them up?
Coming to the meal that was served, here is a play by play of the luncheon-
Triangular Classification won hands down in terms of its popularity. A total of 567 submissions with a full score made it a problem with 28.61% accuracy. But as is known, the problem just played its part in easing the participants into the lunchtime, with lots more to come. Some familiar names like ptnk131627, mbrc, waterfalls sprung up at the lunchtime as always and stayed high up the rank tables. waterfalls from Catlin Gabel School took away the contest with only greens to their name and a list of submissions that started at 11:08 am and ended at 12:43 showing everybody how it’s done! Table Covering had the second highest accuracy with 13.64%. This Ghariyal-path problem was on it’s best offence as only 5 successful submissions found the correct answer. ptnk131627 of VNU-HCM High School for the Gifted Vietnam, was the only young coder to have cracked the problem in the first hour and the first attempt. The main course also consisted of Exponential Sub-Palindromes that got the second most number of correct submissions with an accuracy of 7.03%. Last but definitely not the least was Peaks, that our Chef served to his friends Akshit and Aditi, the two biggest foodies in his gang. It resulted in the toughest part of the meal served to the coders with an accuracy of 2.7% and just 6 full-scored submissions. What can we say, our meal plans aren’t for the weak hearted, or come to think of it, the weak stomached
Yet another lunch went by and we got to see our regulars and new coders fight with gumption on our platform. We would like to serve more of you in the time to come and make it an official ‘lunch-date’ every month! That’s all from the Chef’s team for now as we gear up for the next contest. Here is a bit of trivia from January Lunchtime. We hope you had fun!
And now for the winners announcement -
Signing off with a promise to be back,
P.S: Don’t forget the editorials! January Lunchtime 2016 Editorials
It was June of 2013 when we first had our “Lunchtime”, a new addition to our monthly contests. This little contest was aimed at the younger programmers in schools around the world. We have seen it become a regular entry into many school diaries, and some big planners as well. And as with every contest, for every Lunchtime we got feedbacks and suggestions regarding the Lunchtime.
A lot of those talked about the nature of the contest or the problems. And while, we have been constantly working to improve on them, there was one consistent feedback that kept popping up often and it was: “change the time of Lunchtime.” Now, most of these feedbacks were from the school students. So, it was of utmost importance to us that we take them into consideration.
The reasons cited for the time change ranged from it clashing with the timings of institutes for preparation of competitive exams, to it literally clashing with their “Lunchtime” to it falling on odd hours in some countries and few others have schools on Sunday. So, we had to take all of them into consideration and act. And we started thinking about this one.
After putting a lot of thought to it, we decided to shift the contest to a slightly more accessible day, and time. And after a lot of polls, involving all the school students in our database, and some severe mind crunching among the team members, we have finalized on a day and time.
And it is:
Last Saturday of every month from 7:30 pm IST to 10:30 pm IST
It was not only the most voted option in the poll; it was also most viable for everyone. As for the name of the contest, it remains the same and we will continue to call it “Lunchtime.” We like it too much to change. However, if any of you have a name that would suit the timing of the contest and at the same time will have some relevance to the school students, we will happy to hear.
Gentlemen! That will be all from us here at CodeChef. Do let us know your thoughts and opinions on the new timing of the Lunchtime in the comments below. You can also write to us at: firstname.lastname@example.org
Till next time, Sayonara.
Cook-Offs – traditionally have been dominated by the big guns from programming world. The appearance of names like gennady.korotkevich, uwi, ACRush, djdolls, anudeep2011, adurysk atop the rank table has almost become a norm. The programming fraternity knows them pretty well to know their potential and what they are capable of doing when they partake in any contest. That is not to say that they are unbeatable. Like all great champions all those gentlemen and so many others have had off days at work, giving us some crunchy post contest tidbits to munch on. But the January Cook-Off 2016 was not about them. In fact it was not about many of the familiar names you might have seen on the rank tables.
So, who was it about? You ask.
Well, it’s a tale of three young programmers. But, before we move ahead, let us tell you that none of these three programmers have won the contest. And while we have immense respect for everyone claiming the top spots in our contests, we are sure that even the biggies from programming world will admire what these young lads have achieved. So, without further adieu let’s meet the programmers in question here: meteora of Chashak Gurukul (Homeschooling), animesh_f of La Martiniere for Boys, Calcutta, and rajat1603 of Delhi Public School, Dwarka.
In any field you are associated with, the desire to do better than what you did yesterday or the year passed by, is a good indicator of excellence. With just about 10 or 12 Cook-Offs under their belts, these three young programmers have grown in leaps and bounds in the past year or so to emerge as the forces to reckon with. It’s easier to get better when you are starting. However, as you master the craft, the mistakes become fewer, thus making it hard for everyone to focus on those fewer mistakes and improve on them. We’d like to believe that it’s not the case with these three youngsters. As they have a long way to go.
meteora – started the contest by cracking DESTROY inside the first five minutes and then went on to crack FRUITS and CFTREE inside the first 10 minutes. If that’s not impressive, we don’t know what is. animesh_f, started a bit late in the 15th minute of the contest, but he was quick too, to bag those three problems as well. The same was the case with rajat1603. Now, cracking the three problems inside an hour or so after joining the contest is impressive. No questions there. But what impressed us more was the fact that, all of them didn’t gave up on the contest till the very last minute. They tried their hands on the harder problem MXSM as well. And even though they could not get pass it, the sheer attempt was commendable. And we are sure very soon we will see them bagging all five from our Cook-Off.
The perseverance and dedication of these three young programmers placed them among the top 10 Indian participants from our January Cook-Off 2016. On a rank table dominated by students from some of the finest institutions and organizations in and around the world, to have three school kids is absolutely a big feat. It is also sending a good message for anyone getting started on the journey to the programming land. If you are among those getting contented by a problem or two to your name in a contest, it should serve as a fuel for you to try and bag few more. And we would love to see you doing that.
Now, we take a walk through the rank table, featuring some big names and some new names, giving a perspective to, why the performance of these young lads was so praiseworthy.
We start with ROW top 10:
Now, the Indian top 5:
And before we go forward, let us give you the final statistics for the contest.
That will be all from the numbers and statistics part of the contest. Now, if you encountered any problem or doubt during the contest, that still remains unsolved, here are the editorials for the contest to help you out. Go munch on them:
We hope you enjoyed the tale of these three bright lads placing themselves in the top 10 Indian participants of the contest. We are sure that the end of the January Cook-Off 2016, will mark the beginning of greater things for them and it will motivate many new and coming programmers in the future.
That will be all from us here at CodeChef. We will come again with yet another exciting story, from yet another exciting contest.
Till next time, Sayonara.