A team of competitive programmers from IIT Kanpur created history this year by winning the first position in Asia-West in the World Finals of the International Collegiate Programming Competition (ICPC) – a feat no other Indian team has ever achieved. ICPC, with over 50k students participating from 3000 universities around the world, is the world’s largest and oldest programming contest. And a team of three needs to get through an online local round and an on-site regional round to get to the World Finals.

 

Team ACassins – comprising of Akhilesh Sharma (Y18, CSE), Mohan Raghu (Y17, EE+CSE) and Aryan Choudhary (Y17, EE) – talked to Team Vox on how they overcame injuries, visa issues and Dhaka’s notorious traffic to clinch the Asia-West title and how IITK did (not) help them in achieving this feat. Excerpts:

Vox: If you trace back your journey in competitive coding, where will you place the starting point? Can you give us an outline of what the journey has been?At what point did you think you had a good shot at the ICPC?

Akhilesh: I started competitive programming after seeing my brother do it. I began with Codechef before graduating to Codeforces. But it was not before covid struck that I got serious about it. My rating boosted significantly in the lockdown. When I saw Siddhartha Srivastava and Yash Chandnani’s team go to the World Finals, that became my inspiration. My team got a rank of 2698 in the regionals in my second year. In my third year, when my rating was around 2200, I felt I had a realistic shot at the ICPC.

Aryan: I started after JEE, but before joining IITK. A senior advised me to learn C because a lot of freshmen struggled with it in the first year – so, I learnt C from a teacher in Jodhpur. During my initial months on the campus, I participated in the Freshers’ Programming Contest and wasn’t doing very well there, but that’s how I got to know about CP. Then I started participating in  Codechef Long Challenges regularly, even if that meant skipping classes 😉

 

Vox: How did the three of you come together as a team? What do you think made you click? 

Akhilesh:  I was in a different team initially and wanted to get into Aryan’s team. But he wouldn’t let us in (laughs). So, after a lot of team hopping I ended up with Abhinav and Mohan because both of them couldn’t get into Aryan’s team as well! Interestingly, I didn’t know either Abhinav or Mohan – we were brought together by a mutual friend. Later on, after qualification, Abhinav couldn’t participate in the World Finals and so, Aryan joined our team as his replacement. 

I guess what made us click was the tendency to not interfere when someone else was coding and respecting and trusting each other. Case in point – me and Mohan did not talk till the Amritapuri regionals! During practice sessions and prelims, we would divide the problems among ourselves and solve them independently. Towards the later stages of the contests we would come together and solve the problem according to our expertise. 

 

Vox: How would you describe your journey from the regionals to the World Finals?

Akhilesh: The journey was nothing short of terrific, from getting 2698 rank in my second year to reaching the world finals. IITK had tremendous internal competition and was sure to send a team to the World Finals. In a sense, we were just competing with teams from IITK, and did not have to look up to other teams. I have no idea how we performed so well. We went to the regionals with no expectations, but ended up getting the second rank there. We were informed that the world finals would be held in Dhaka. Bad things happened before the ICPC world finals, Abhinav was denied a visa, I got into an accident and was on painkillers the whole time. Indigo was adamant on not letting Aryan board. Two days before the World Finals even Mohan fell sick. 

Aryan: In my third year, IITK had India’s rank 1, Yash Chandnani, and ICPC has a hard limit that there can be only one team from a college. My team was 7th in Amritapuri regionals among 300+ onsite teams. We would have qualified for World Finals in 2021 on a wildcard slot because a lot of teams backed out due to covid – if the other IITK team was not there. In my fourth year, we had 3 strong teams competing against each other for WFs. They were eventually ranked 2,4,4 in different regionals. Eventually, Akhilesh’s team qualified for World Finals due to their strong performance in Amritapuri regionals; other teams were close but did not qualify. Later on when Abhinav had issues, they asked me and I was like nekee aur pooch pooch.

 

 

Vox: How did you prepare just before the contest?

Akhilesh: Since I got into an accident, only Aryan and Raghu were able to practise, they practised some earlier editions of the world finals. We were just rusty but it wasn’t like we did not have knowledge.

Aryan: I would say we were slow but we were able to solve problems. Even during the world finals, once we got our first accepted verdict near the half time, we breezed through 5 problems in the second half.

 

Vox: How was your experience in Dhaka? How many other Indian teams were there and what expectations did you start the contest with?

Akhilesh: The traffic in Dhaka was pathetic – worse than Bangalore. Our hotel was 10 kilometres from the contest venue. So we had to leave at 8 am to reach the venue at 10:30. We also had to leave the venue early to reach our hotels on time. The staff and volunteers were nice. Perhaps it helped that Aryan is a celebrity in the coding community ;). 

Aryan: The interaction with other Indian teams was nice. The IITB team was great – we used to play poker everyday and the winner would post Instagram stories. In fact, we were playing poker an hour before the contest. There was also some casual sledging. We would rant about the lack of vegetarian food in Bangladesh.

Akhilesh: We had no expectations from the contest, because before the actual contest there is something called the ICPC challenge, which consists of optimization problems. We did very poorly in the challenge, and ranked second from last. 

Aryan: I wasn’t trusting Akhilesh with the code (both laugh) because he had not coded for a long time. In the World Finals, we solved three problems on pen and paper in the first two hours but were getting wrong answers repeatedly. We got our first Accept verdict at 2 hr 20 minutes. 

 

Vox:What are your personal future plans? Would you continue Competitive Programming (CP)?

Akhilesh: I have already announced my retirement on Instagram so I’m not going to pursue CP anymore. ICPC hasn’t changed my personal life plans.

Aryan: I had stopped hardcore CP last year, but you will still see me around for some time, probably because competitive programmers do not have a life outside xD. 

 

Vox: Your team had zero submissions for the first 2.5 hours of the 5-hour long contest. By the 4th hour, IITK stood at 76th position with only 3 correct submissions. But in the last hour, you guys rose 29 spots to secure the 49th position overall and first in Asia-West. 

How did this drastic increase happen in the last hour? What was going on in your mind?Aryan: To be honest, nothing! We just thought this problem looks doable, let’s do it. What pressure do you expect from someone who’s been at the last rank for the first half of the competition?

Akhilesh:  As we had messed up the ICPC challenge, I didn’t take much pressure for the world finals and just wanted to do my best. So, when we had our third AC 3 hours, 40 minutes into the contest, me and Raghu were solving the first problem while Aryan was working on the last problem. We weren’t thinking about anything other than solving the problems to the best of our abilities.

 

Vox: How do you think Indian CP culture is different from that practised internationally? What can we do to improve ours?

Akhilesh: CP is pursued as a hobby abroad, whereas this is not the case in India. In Russia, China or the US, kids get exposed to CP in 6th-7th grade and they come to like it. Majority of the students in India are exposed to CP after coming to college and they do CP just to land into good internships or jobs. Most of the people are forced into CP and they too, start very late. Also, there are too many cases of Indians cheating in contests to improve their ratings. There are instances of people passing codes for 50 rupees on telegram. This has had a negative impact on the reputation of Indians coders. They are stereotyped to be cheaters and to some extent, this is true. I myself have seen tons of Indians buy or sell codes for intern or placement tests or just to improve their rating. This also kills the interest of the people doing CP as a passion.

Aryan: Adding on to what Akhilesh pointed out, this isn’t the case at higher levels. People don’t stereotype Indians to be cheaters or undeserving. One big problem in India is that the kids who start early don’t usually grind for JEE. Rather, they participate in IOI (International Olympiad in Informatics, which is the school level equivalent of ICPC). Almost all kids1 who perform well in IOI take admissions in foreign universities like NUS or University of Waterloo or even MIT. For instance, Malavika Raj Joshi won two silvers in the IOI but because she was homeschooled, she wasn’t even eligible for JEE. People who represent India in the world finals are people who started CP very late.

In fact, Siddhartha (Y16 and twice ICPC World Finalist) was the UGARC student nominee – the UGARC recommended directly admitting IOI (and other PCM olympiad) students to IITK, but the proposal is taking forever in its implementation!

 

Vox: Do you think IITK or the Programming Club at IITK helped you in your journey? If yes, how? 

Aryan: Honestly, I think IITK PClub’s responsibility starts and ends with organising the Linux install fest! If you look at IIT Roorkee, the professors there are motivated and their PClub takes up the responsibility of registering the teams. The only reason I could not participate in ICPC in my first year was that I could not find a professor to register for me. (To register for ICPC, a team needs a faculty coach). I would like to see the Programming Club take up the responsibility of registering the teams. Coordinators here did not want to sign up for that role when I went to them with this proposal about 4 years ago. In IITK, we have to approach the professors personally to get our team registered, which is not the case in other institutes like IITR or IIIT-H. 

Akhilesh: Moreover, if any other team would’ve won the West Asia title in their Institute, they would’ve got recognition for it back home – but in IITK, few people care. The teams from IITR, IIITH and DAIICT (basically every other Indian team) got a shoutout on their Institute’s official Linkedin page for just qualifying for the world finals. There’s no such culture at IITK. We were the first Indian team to become the Asia West Champion but we got no acknowledgement from the institute. Even the professor from IITR congratulated me thrice. 

Aryan: In fact, the PClub here at IITK is so defunct that this year only 5 teams registered in the ICPC online round and 10 registered in the year before. This is a massive decline from 2018, 2019, when almost 50ish teams participated in the online rounds and around 10 made it to the regionals. We used to have introductory ICPC sessions (for first timers), practice contests every weekend before regionals and a lecture series to support participating teams. This year the coordinators seem to have completely forgotten about the ICPC and there has been no publicity for the same. I’ll suggest the current and future PClub coordinators to look at the end-term reports of Y12-Y15 coordinators and you’ll find enough initiatives to work on. IITK FOSS group https://students.iitk.ac.in/navya/about/ is dead too. Although if one excludes last year, number of GSOCers have increased over the years. Frankly, it will be better to see PClub split into 4 different clubs (one for CP, ML, Cybersecurity and web dev each). These all are orthogonal but are currently under the umbrella of PClub. While IITR and other institutes have different clubs for each.

Interviewed by: Rahul Jha, Zainab Fatima, Rudransh Goel

Editor: Abhimanyu Sethia

Do you like Vox Populi's articles? Follow on social!