With the excitement of June Lunchtime still left to die down, the competitive programming world braced itself for CodeChef’s July Long Challenge 2020. With 32,416 participants and 5,56,044 submissions, the 10-day coding challenge had put the best to test, thanks to our star problem setters. The 13 unique problems spread over two Divisions of the challenge had made some of the best competitive programmers rack their brains, and the fight was as close as it gets.
Division 1 – a close contest among heavyweights.
Division 1, the battleground for the tougher programmers, was dominated by North Korean coder Kim Song Bok. The 7-star coder finished at the number 1 spot with a score of 1000. The student from Pyongyang has shown a meteoric rise in his last three Long Challenges. In October 2019, Bok was ranked 1230, and from there he leapt straight to rank 3 in May 2020. It now seems as though Bok isn’t in the mood to let go of his incredible form in the Long Challenge, and his current rank speaks for it. With his CodeChef competitive programming rating increased by 113 after the contest, Bok stands at a rating of 2908, inching steadily towards the 3000 club. Lagging behind the top scorer by almost 9 points, Indian coder Abhishek Kanhar finished in the 2nd spot with a score of 991.375. Kanhar’s last Long Challenge was in October 2019, where Bok had also participated. Kanhar, who was ranked 7 in October 2019, beating Bok by miles, has finally been outranked by the current champion. However, Kanhar seemed to take a lot more than just a fantastic rank from the July Long Challenge. However, the most notable takeaway from Kanhar’s performance is the fact that with an increase of 143 in his rating, he’s only 13 of becoming a 7-star coder.
“The last contest was one of the most productive paths to invest my time in this lockdown. In the contest, I enjoyed solving the problem EXPREP (for myriads of approaches to solving it using different Data Structures), EXPTREES (an excellent Mathematical problem). Also, it was quite surprising to see very little accepted submissions on a mere medium level problem, GEOXD. The Challenge problem (DYNHUL) was well-prepared, and I regard this as the best in the whole contest. In the end, I was quite happy to see myself on the first page of the leaderboard,” said the Long Challenge global rank 2 holder in an interview to CodeChef.
Kanhar secured his 2nd spot beating Polish coder, Krzysztof Maziarz by a whisker. The Microsoft professional bagged the 3rd spot, just 0.545 points short of the 2nd. Japanese student, nyaan, zhouyuyang from China, and American coder jijiang, who studies in the Indian Institute of Technology Bombay Mumbai, Maharashtra, and 5-star Chinese coder test12345 finished 4th, 5th, 6th, and 7th respectively. A three-way close competition left the 8th spot a tie between Bangladeshi coder Jubayer Nirjhor, Chinese student mayaohua, and Mateusz Radecki from Poland.
Division 2 – an underdog promise-land.
Despite three ties in the top 10 and a few more down the list, we have a clear winner in Division 2, Nikita Bykov. The Russian coder and a student of Saint Petersburg State University rocketed from rank 2238 in the February Long Challenge to rank 1 in July. He was last seen just a month ago in June Lunchtime, where he finished 18th globally. The addition of 229 points to his rating leaves him 29 away from graduating to a CodeChef yellow band coder from purple. The fight for the second spot has been a two-horse race between Chinese coder Tianfang Nan, and FSYolanda. While this was Tiafang’s first appearance on any CodeChef coding contest, FSYolanda took a giant leap from rank 29,873 in the June Challenge to a shared 2nd spot in just a month. With no 3rd spot to spare, Indian programmer from Punjab, Vedant Gupta claimed the 4th spot with a score of 889.77. This is the first time the Thapar Institute of Engineering & Technology Patiala student managed to secure a rank less than three digits in any CodeChef contest. Bangladeshi coder, Maruf Ahmed Mridul bagged the 5th position while three CodeChefers, Jay Faldu (India), mrboorger(Belarus), and Debasish Ray Chawdhuri(India) shared the 6th spot. Four more Indians, Robin Jagal from Patiala, Harsha Kunchala from Hyderabad, Shailendra Jain from Jalandhar, and Rohit from Delhi shared the 9th spot. With this, 7 Indians made into the top 10 of July Long Challenge Division 2. Along with three ties in the top 10 spots, it’s interesting to note that there have been eight ties at the 13th spot in Division 2.
Problem setters on their coding problems.
With so many neck and neck performances in Division 1, and a surprising number of ties in Division 2, and fewer ACs than usual, it’s safe to say that the July Long Challenge problems haven’t been easy. It doesn’t come as a surprise after hearing from the problem solvers themselves as some of them have put in the extra effort to make the problems as demanding as possible. Md. Mahamudur Rahaman Sajib, who had set one of the least attempted problems in the contest, Easy Geo xD (GEOXD) admits that this was the hardest problem he had ever set on the CodeChef platform. According to Sajib, GEOXD is the kind of problem that a setter picks randomly and then goes about finding a solution. As a result, composing the problem is as tough for the setter as it is to solve by the contestants.
“GEOXD eventually is the least solved problem in this long challenge in the end, and that gives me much pleasure as a setter,” said a satisfied Sajib.
Sudipan Datta, the creator of Doctor Chef (DRCHEF), shares the same sense of satisfaction with Sajib.
“The performance of DRCHEF was as expected. It was a tricky problem. So like I presumed it had very few submissions on day 1, 2, and at the end of the long challenge, it had many ACs. Even some red coders took more than 3-4 attempts to get an AC. I’ll be honest with you; it feels very nice when your problem gets WA’s,” said Datta, who debuted as a problem setter in July Long Challenge 2020.
Aviroop Pal, who set the problem, Expected Repetitions (EXREP), expected a dearth in the number of ACs to his problem as most participants are not very familiar and comfortable with string problems. On being asked why he chose to set this particular problem, here’s what he had to say:
“I found suffix automata as one of the most powerful string data structures that I’ve known. So the problem of using a heavy light merging on the link tree came naturally to me. This kind of trick is not so common in string problems, so I thought of giving it a try.”
The overall low number of ACs indicate that the problem setters have had the last laugh in the July Long Challenge 2020. Despite the tough competition, performances of the top coders have been commendable With close finishes, incredible comebacks, and problem setters going for the kill, July Long Challenge 2020 was tough, gruelling, and unpredictable but definitely worth it.