When submitting a solution in C++, please select either C++14 (GCC 6-32) or C++17 (GCC 7-32) as your compiler. ×

Balajiganapathi's blog

By Balajiganapathi, history, 19 months ago, In English

We launched the CodeDrills recommender 6 years ago and since then it has been used to recommend problems for practice more than 10 million times! Unfortunately, over time, I got busy with other stuff and could not maintain it. Now I plan to open source the recommender so that it can be maintained by the community. For that I am looking for some volunteers from the competitive programming community.

CodeDrills has kindly agreed to continue to bear the hosting and other charges for the recommender.

More details here

Let me know if you are interested in the same.

Cheers

Full text and comments »

  • Vote: I like it
  • +5
  • Vote: I do not like it

By Balajiganapathi, history, 3 years ago, In English

Hello Codeforces,

We have collected all the bugaboos used in CodeDrills ICPC practice sessions at https://codedrills.io/drills/icpc-practice-bugaboos for easy practicing.

And yes, CodeDrills is firmly on team Bugaboos.

Full text and comments »

  • Vote: I like it
  • +78
  • Vote: I do not like it

By Balajiganapathi, history, 3 years ago, In English

Hi all, an important announcement about icpc (https://www.amrita.edu/icpc21)

It has been decided to conduct the Asia Amritapuri ICPC Preliminary and Regional Round in the month of June and July respectively because of the current pandemic situation. Registration will end 10 days before the Preliminary Online Round.

Teams can register at two sites as per the rules, if the contest is announced by other sites. Most probably Kanpur & Gwalior sites also will host the contest. that case, there will be one single round of online contest. This will be announced soon~.

Tentative date for the Preliminary Round Online contest: Last week of June 2021.

Duration: 2.5 hours

There is no registration fee to participate in the Preliminary Online Round.

Regional Round: July second week.

Duration: 5 hours

Teams will be promoted after the Preliminary Online Round.

Regional Round will be held online on CODEDRILLS platform.

Amrita will host the regional round in the online mode with the following selection criteria.

Total Slots: 700

Teams solving at least one problem in the Preliminary Online Round are eligible for the Regional Round. Top team from each institution is selected first. Rest of the slots are filled in the rank order.

If any queries related to this or ICPC registration, please ask at CodeDrills Discuss and we will try to get it answered by Amrita staff.

UPD 1: I have collected all information that I could find about the regionals here.

UPD 2: We will be conducting a mock contest for those registered for ICPC Amritapuri (details at https://codedrills.io/contests/icpc-amritapuri-2020-mock-round ). We strongly suggest you get familiar with the platform by participating in the mock contest and ensuring that your login works. Make sure you resolve any issues faced well before the main contest. We won't be able to resolve any login related issues that are reported later.

Full text and comments »

  • Vote: I like it
  • +224
  • Vote: I do not like it

By Balajiganapathi, history, 3 years ago, In English

CodeDrills will be hosting CodeDrills Beta Contest #2 on Sunday, 29th November, 2020 7:00 PM — 8:30 PM IST.

There will be 3 problems to be solved in 1.5 hours. The difficulty level will be similar to a Div 3 contest.

Prizes: An Amazon gift card of INR 1000 (or equivalent gift card amount for non-Indian currency) will be awarded to 2 randomly selected participants from among all participants who have a non-zero score.

  • More details, including scoring method, can be viewed here
  • You can check our past contests
  • Check our competitive programming problems and practice here

Full text and comments »

  • Vote: I like it
  • +38
  • Vote: I do not like it

By Balajiganapathi, history, 4 years ago, In English

We are going through an unprecedented situation currently. There are lockdowns and quarantines in many parts of the world. We feel the best way to cope with everything that is going on is to keep ourselves occupied.

To help with that, we at CodeDrills have something for all the competitive coders out there. On 25th March, we launched our own online judge and also launched the CodeDrills covid 21 days challenge. Every day, for the 21 days starting from 25th March, we will upload 1 problem. Just visit codedrills.io, login and start solving! The launch coincided with the start of a full lockdown in India.

Since the situation was unexpected, we rushed to put up the site as soon as possible, so there might be issues. If you find any bugs or want to request a feature, please write to us at [email protected] with as much details as possible.

Here is our mascot Ufu wearing a mask (if you are unable to see him here, head over to our page):

Here are the problems launched so far:

Day Problem link
1 Beating Shell sort
2 Curfew delivery
3 Book stacks
4 Square-free subarrays
5 Cookie supply
6 Count of arrays with given LIS length
7 Longest balanced symmetric subsequence
8 String with palindromic substrings
9 Can the spider jump
10 Road decorations
11 Each edge MST
12 Sufficiently different strings
13 Minimum meeting rooms
14 Harshad number
15 Sufficiently different vectors
16 Friends meeting
17 Seats and students
18 Subsegment xor sum
19 Count of palindromic strings
20 Max xor pair subarray queries
21 Repeated string compression

PS: The old code-drills site is still available at https://recommender.codedrills.io

PPS: We don't have all the 21 problems yet, if you have a problem idea please contact us

Full text and comments »

  • Vote: I like it
  • +47
  • Vote: I do not like it

By Balajiganapathi, history, 4 years ago, In English

Competitive coding format has not seen much innovations since the times of ICPC and Topcoder SRMs though there have been many incremental improvements. I have been thinking about ways in which we can improve on current formats. I am eager to know if anyone out there has a good idea to make contests interesting for both participants and spectators. Note that by competitive programming I don't necessarily mean only algorithmic programming. Given below are some lines of thought I have had so far in no particular order.

  1. Make it more game like (graphical). May also help in spectating as spectators can watch the output
  2. Different contest format (e.g. 1v1 tournament style, club based, country based teams)
  3. Make it equally interesting for people of lower and higher ratings (e.g. constraints based on ratings?)
  4. Tie it to real world projects (???)
  5. Different problem formats (e.g. interactive problems was a good idea, some good problems at IPSC)

What have you got?

PS: This is a mirror of a similar post I made on Facebook.

Full text and comments »

  • Vote: I like it
  • +132
  • Vote: I do not like it

By Balajiganapathi, history, 7 years ago, In English

Hello CodeForces Community!

It is with great pleasure, I would like to invite you all to the mirror contest of the largest ACM-ICPC Regionals and it is nicely wrapped in ACM-ICPC Asia — Amritapuri Onsite Mirror Contest. With some brain-high problems which will make your adrenaline rush, I am sure you don’t want to miss it. Get going! Mark your calendars and keep yourselves free for the big rush.

Contest Details

Time: 23rd December 2016 (1000 hrs) to 23rd December 2016 (1500 hrs). (Indian Standard Time — +5:30 GMT) — Check your timezone.

Contest link: https://www.codechef.com/AMR16MOS

Registration: You just need to register as a Team on CodeChef. For all those, who are interested and do not have a CodeChef handle, are requested to register in order to participate.

Good Luck! Hope to see you participating!!

Note: The mirror contest will run in parallel to the main contest with an hour delay.

Full text and comments »

  • Vote: I like it
  • +41
  • Vote: I do not like it

By Balajiganapathi, history, 7 years ago, In English

Hello CodeForces Community!

I would like to cordially invite you all to the ACM-ICPC Asia — Chennai Onsite Mirror Contest ACM-ICPC Asia — Chennai Onsite Mirror Contest. It will be running in parallel to the main onsite contest with an half hour delay.

It will serve as a good practice for those who are preparing for the upcoming onsite regionals and hope you will enjoy solving the problems. Please leave your feedback on the problem set in the comments. Rest of the details about the contest can be found below.

Time: 20th December 2016 (1100 hrs) to 20th December 2016 (1400 hrs). (Indian Standard Time — +5:30 GMT) — Check your timezone.

Details: https://www.codechef.com/CHN16MOS

Registration: You just need to register as a Team on CodeChef. For all those, who are interested and do not have a CodeChef handle, are requested to register in order to participate.

Good Luck! Hope to see you participating!!

Full text and comments »

  • Vote: I like it
  • +10
  • Vote: I do not like it

By Balajiganapathi, history, 7 years ago, In English

Hi all,

While practicing I always have difficulty choosing which problems to solve next. So, I coded a site to look at the user's submissions so far and recommend what all problems to solve next. Since the ICPC season is at peak now, it can also analyze multiple users and recommend practice problem for the whole team.

View the site here: Code drills.

So far, it only supports cf (EDIT: Now also supports codechef and spoj). I plan to add support for other sites later. Besides recommending, it will also show some statistics of your submissions so far. If you scroll down after entering your handle, you can view the practice recommendation. I will explain some of them here:

ICPC: Best to use this with team i.e. enter all your teammates' handles too. It will try to select problems from different topics. This and all other recommendations are based on your past submissions. So, the difficulty of the set will vary according to your past submissions (i.e if you have solved a lot of hard problems, then you will get harder problem recommendations, so tourist's easy problem will be very different from my easy problem recommendation :) )

Mini Contest: Best for individual coders. 5 problems are recommended, again based on the coders' past submission.

Daily Practice: Suggests only 2 problems — an easy and a hard. This is useful for those who don't have that much time to practice.

Warmup: 2 easy problems for solving before some contest.

Easy/Medium/Hard: 10 problems of the chosen difficulty.

Topic based: Select a topic and start solving from easy to hard problems on that topic.

This was all coded in one day, so expect some bugs :) . I will try to keep adding more features and other sites for analysis. Comments and suggestions are welcome.

Full text and comments »

  • Vote: I like it
  • +583
  • Vote: I do not like it

By Balajiganapathi, history, 8 years ago, In English

Hello CodeForces Community!

I’d like to invite you to participate in CodeChef’s global onsite programming contest SnackDown 2016 Qualifier which starts tomorrow i.e at 9 PM 27th May. I took part in SnackDown 2015 and my team was one of the winners (Indian category) of the contest. You can read my complete experience from the contest on CodeChef’s blog. And as you already would have heard the timings of online elimination has been changed and the organizers are contemplating the idea of revoking the team restrictions in future. So, that leaves us with no reason to not take part in the contest. And after being to the onsite finale once, I would strongly suggest that you participate in the contest. Not only for the awesome experience at the finale, but also for the brilliant problems.

For the qualifiers, the problems have been set and tested by kevinsogo (Kevin Charles Atienza), Antoniuk (Vasya Antoniuk), CherryTree (Sergey Kulik) and the translations were written by huzecong (Hu Zecong),Antoniuk (Vasya Antoniuk), VNOI Team, CherryTree (Sergey Kulik), with PraveenDhinwa (Praveen Dhinwa) as contest admin. I hope you will enjoy solving the problems.

Registrations:

  • You can register in a team of two or can go solo into the contest. The Online Qualifier starts at 9 PM 27th May.

  • If you are yet to register, you can do so here: https://www.codechef.com/snackdown/2016.

  • The contest format requires you to participate in a team of 2 or you can go solo (and both the team members should be from same instititute/organization). Furthermore, this year, CodeChef will be inviting 52 team’s (top 25 global + top 25 Indian + all Girl team + Indian school team) for the onsite finals at Mumbai. Of these 52 teams, 32 teams (top 15 each Global & Indian + Girl + Indian school team) will get an all expense paid trip to India, while the remaining 20 teams will be provided with accommodation and local travel in India. However, if any of these 20 teams win the competition, their travel fare will be reimbursed as well. It’s a win-win situation.

Along with the cash prizes for Global Winners, there are special prizes for Best School Team, Best Girls team and Best Indian Team (the total cash prizes are worth $22,500).

  • The winning team shall win a whooping cash prize of $10,000.
  • Also, taking into consideration the previous discussions regarding the timing of online elimination round of the contest, the organizers have decided to reschedule the round.

The new timings for the SnackDown 2016 Elimination Round are:

In order to accommodate the new timings, they have also rescheduled the June Cook-Off 2016. And the new timings for the June Cook-Off are:

Date & Time: 26th June 2016, 21:30 Hrs IST to 00:00 Hrs IST

I hope you like the new timings and that will enjoy the contest till the very end. That will be all from my side for now. See you all at the contest.

Regards,

Balajiganapathi

Full text and comments »

  • Vote: I like it
  • +34
  • Vote: I do not like it

By Balajiganapathi, history, 8 years ago, In English

Background

One of the regionals in India was scheduled to be held at Hindustan University at Chennai on December 17 — 18, 2015. Unfortunately Chennai was stuck by a natural disaster. The entire south India received heavy rainfall and hence there was a lot of flooding at many places including Chennai around that time. Atleast 347 people died in the state of Tamil Nadu (where Chennai is located). The damage due to the floods overall in south India is estimated to be atleast USD 3 Billion. It is the costliest flood in 2015.

Ofcourse, due to this the Chennai regionals was postponed. I think everyone here will agree that this was an unexpected, unprecedent situation and hence it was entirely understandable that the regionals was postponed.

The Blog post

Dr. C J Hwang is the ICPC Asia director. In response to the above postponement he posted a blog article on his blog. You can read it here. Please read it as this post deals with that announcement.

Quote from the blog: "In the 20 years of ACM-ICPC Asia history, we never had the case of contest postponement."

Comment: That is just luck. It is great luck that there never was any problem during any of the Asia regionals during the past 20 years.

Quote from the blog: "Several years ago, Vietnam contest had a flood and I was there. I walked over the deep water.I was wet with pants and shoes. Vietnam committee did not request any postponement."

Comment: Wet pants and shoes, seriously? This seems like a minor water logging not a major, destructive flood.

Quote from the blog: "To avoid any future abuse of asking postponement to cover the un-readiness and the irresponsibility of hosting the contest ..."

Comment: Abuse? What exactly does Dr. Hwang want the organizers to do? How can you conduct a coding contest when there is water 2 storey high? How is this un readiness or irresponsibility? The flights/train/bus service were all stopped so how would the contestants reach the venue? What if something happened to them? There were no proper supply of food/water/electricity during the floods. As someone who has experienced a real flood, I am extremely offended by this statement.

Quote from the blog: "..., I am proposing to insert a few new lines into 2015 Asia rules. These new lines are same as I had approved for Asia Chennai. We have no time for negotiation/discussion and the complexity of calculating Asia site scores prevent us from any other solutions."

Comment: Why no time for negotiation or discussion? Calculating the slots is indeed complicated, but it does not take that much time either. This reason is here just so he can rush the decision before any discussion takes place. This should not be how decisions are taken at ICPC.

You can read the actual rule in the blog itself. Rules are generally passed by a vote. Here is the result of the voting for this rule:

Quote from the blog: "Voting Result: Casting Yes vote – 11 (Including 3 from WC sub-region)

Casting No vote – 1 (Including 1 from WC sub-region)

Implicit Yes vote – 40"

Comment: See that last line? The Implicit Yes vote? It means those who did not vote were automatically considered as "Yes". Yeah, that is how decisions are taken for such an important rule.

Concluding Remark

I have nothing against the rule. But everything against the manner in which it was decided. Also, the remarks about the flood situation reeks of arrogance and a total lack of empathy for the disastrous situation at Chennai. It is really sad that decisions are taken like this at such a prestigious contest like ICPC.

Full text and comments »

  • Vote: I like it
  • +967
  • Vote: I do not like it