# Imbalance of Difficulty level in January Challenge 2018

So, January Challenge ended and I noticed that:

People having 500 points solving five questions fully got rank 1846 and those having 556 points got 274 rank. Now, these class of people were able to solve problems of same difficulty yet there is a significant difference between their ranks which isn’t justified. If somebody went through the whole problem set, he would straight away figure out that 5th problem whose solution can be reduced to simple GeeksforGeeks problem would get too many submissions and the “Monsters” requiring sqrt decomposition (or other methods) won’t.

So, I have two suggestions:

1. Make the problemset more balanced. Though obviously its not being suggested for the first time but it can become better if few people analyze the whole problemset.

2. Remove points for meaningless brute forces. Like Why is that even there!? Run a loop from 1 to n and get 10 points, or maybe 5 points. Don’t tell me purpose is to teach people to run a loop. Its completely meaningful if the solver has thought something or its some kind of unoptimized solution. But points for completely meaningless brutes doesn’t make any sense, just for the sake of keeping it there.

Let me know your suggestions and I apologize if I sounded a bit harsh.

26 Likes

humongous query, sqrgood did not have meaningless brutes. They required a lot of thinking. I solved 6 problems but couldn’t even ‘meaningless brute’ sqrgood. And yes, I know how to run a loop, still got 0 in that.

4 Likes

2^20 not passing in Humongous query?

4 Likes

Agree with @swetankmodi here, the meaningless brute you are referring to only holds true for 15 marks, 10 Monster + 5 Killkth. Also, you can think of marks in sub-problems as an incentive for not giving up and trying, and yeah the incentive should be relatively low, and 15 marks isn’t too much.

2 Likes

it passed. I had a hard time coding it since i started in the last few days. I mean to they they were not meaningless. I do agree with the difference in 5th and 6th problem. it was a huge gap.

Also, if everyone does meaningless brutes, then won’t the rank remain same provided everyone is able to do it since it’s very easy right?
if every 500 scorer goes to 556 by just running loops, what’s the problem? (just a thought, maybe i’m wrong, but I think the brutes were fair enough this time but yeah +1 for 5th/6th gap)

4 Likes

@dwij28 - For KILLKTH, it’s 20 points in python. I was surprised we can store string of size 10^9 in python! o_O

Most of my concerns regarding your “meaningless brute” are already voiced by @swetankmodi and @dwij28 . Thank you for that :). Just adding to that, those brute force are for those new coders, especially the 2 stars so that they can fetch some points. It might be meaningless to you, but most of the times I saw them to be implementing brute Djikstras (talking about a previous long), or longest subarray sum, or some standard algorithm, which is very appreciable. Even the straight loop and performing conditions are not cakewalk for people learning basics of coding, so I think we should let this principle remain.

Regarding your example, if that guy got 554 points, then obviously he did more than meaningless brute force, else everyone else would also be 554 points. That, puts most of your arguments at rest regarding this.

I agree that the problem set was not balanced at all, for both reasons- first five being too easy and last five being too tough. There were quite a few issues with this contest, like in the challenge problem, and I hope the setting panel will make sure this doesnt occur again.

17 Likes

Completely agreed, but you could assume Solving 30 points in monster as an independent question since it had such a big impact on ranking. To go for partial points or solve the hard question that you are stuck in during the last couple of days is the dilemma at the end. High risks, high rewards.

+1 to the brute dijkstra. I remember some of the first year juniors in my college, who didn’t encounter graph theory in their curriculum yet, got aware of dijkstra’s algorithm and implemented it. I believe that bruteforce was the only motivation for them to learn a completely unknown algorithm which will be of use to them for sure in the coming years.

2 Likes

Exactly, thats why long is considered a good contest for learning things.

@dushsingh1995 even I was unaware of that. I got 5 only should’ve used python ahh :\

@dushsingh1995 I got 5 in Python and now I am sad

1 Like

To add, I found the scoring distribution in the challenge problem quite weird. Only 3 are having ~100 pts, whereas rest all are having <3 pts.

I agree with @vijju123. If somebody does not attempt partials and scores less than he could have potentially, I don’t see how that is a fault of the system.

@avi224 that is due the scoring mechanism. I think it is not satisfactory, and I have already pointed it out to the organizers.

2 Likes

Well, there are questions like you said which helps beginners but most of the times its not the case. Anyways, I kinda agree as its enough argument to keep them.

[Below is not a counter argument] :v

Though, I would personally like to believe there will be people who won’t like to waste time writing these brutes and system is not going to change because proportion of people believing that if “Anyone can get those points then let it be” is much more.

4 Likes

@swetankmodi @shubhiks @meooow @vijju123 I don’t agree with neither of you. I really think this unbalance is unfair, but it’s not to people not doing partial scores. They could have done it easily and don’t lose, or even WIN CONSIDERABLE AMOUNT OF RATING.

And that’s what is unfair.

To those who solved more than 5 problems, instead of doing only partial scores. They can be roughly the same place as the people solving 5 and partials (which was pretty easy to be honest) and because of (IMO) weird rating system of CodeChef it will really mess up rating balance.

3 Likes
`````` I would personally like to believe there will be people who won't like to waste time writing these brutes
``````

I dont quite get you here. If writing brute is time waste for you, then just code the full solution. Else if its like “I dont know full solution, I can get brute force points but I dont want to write brute force” then it seems weird considering that one wants to do his best in a contest.

1 Like

I cant comment on rating system. But AFAIK, someone who succeeded in solving 6th was under 200. What you pointed is true, that the gap between brute forcing and full solving is just a few hundreds instead of what is was in earlier contests. Thats a fair point. I am sad that there are quite few issues in the first contest of year itself. (And considering that dp isnt my strongest topics and that the contest had multiple problems on dp…Well, XD)

Well, that’s why I said its what I would like to personally believe (others can believe else of course) , as personally I prefer long for or in general other contests for learning something whereas doing this doesn’t help in that. At the same time, why do I care then? Because I want my rating to be an indicator of my performance. That’s sums it up as I have the freedom to believe this way. If I can’t write full solution I don’t believe in writing brute solutions which don’t require any thinking. If you think that’s not “Giving my best”, you can think so.

3 Likes