Every time I’ve participated in a CodeChef contest, it feels a bit weird to see a not so “Easy” problem being given the “Easy” tag. For example, let’s take a look at the problem SPTREE, from the recent lunchtime.

If you see the editorial, it has been given the “Easy” tag. Some people always find this demotivating as the editorial itself it based off of a LCA approach.

Now, let’s take a look at these problem setting guidelines.

If you look at the submission indicator for “Easy” problems, it says that it should have 50% solves in a lunchtime. Now open the contest page in div2. Let’s assume that there were 4337 people in the contest since there are 4337 solves on the cakewalk problem. SPTREE has 335 solves. Doing the math, 335/4337 is closer to 7% rather than 50%.

Purely based on the submission indicator in the guidelines, shouldn’t this problem be given the “Medium” tag? I see that it mentions “Knowledge of advanced programming concepts like advanced DP, advanced Graph algorithms, advanced Trees, Computational Geometry, advanced Mathematics etc, or a combination of more than one of these may be needed to arrive at the right solution.”

Can a problem not have a 5% successful submission rate without requiring advanced data structure/algorithmic knowledge?

If you look at the “Details” section for each tag, they only mention “advanced”, “harder”, “optimisations” etc. Is a problem really made harder by these only? Can’t a problem have brilliant “aha” observations that makes it as hard as a problem requiring maybe Centroid Decomposition on Trees?

If you look at the comments under editorials, you will see that many people are disheartened when not so “Easy” problems are given the “Easy” tag.

Do problem setters award difficulty tags to problems or are they be decided based on performances in the contest?