You are not logged in. Please login at to post your questions!


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.

asked 15 Jan '18, 21:06

shubhiks's gravatar image

accept rate: 0%


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.

(15 Jan '18, 21:18) swetankmodi ♦♦6★

2^20 not passing in Humongous query?

(15 Jan '18, 21:24) shubhiks4★

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.

(15 Jan '18, 21:25) dwij285★

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.

(15 Jan '18, 21:29) swetankmodi ♦♦6★

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? :P (just a thought, maybe i'm wrong, but I think the brutes were fair enough this time but yeah +1 for 5th/6th gap)

(15 Jan '18, 21:31) swetankmodi ♦♦6★

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

(15 Jan '18, 21:39) dushsingh19954★

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.

(15 Jan '18, 21:52) abdullah7686★

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

(15 Jan '18, 21:57) swetankmodi ♦♦6★

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

(15 Jan '18, 22:41) dwij285★
showing 5 of 9 show all


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.


answered 15 Jan '18, 21:50

vijju123's gravatar image

5★vijju123 ♦♦
accept rate: 18%

edited 15 Jan '18, 21:55


+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.

(15 Jan '18, 21:53) swetankmodi ♦♦6★

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

(15 Jan '18, 21:56) vijju123 ♦♦5★

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.

(15 Jan '18, 22:52) avi2244★

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.

(15 Jan '18, 22:56) meooow ♦6★

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.

(15 Jan '18, 23:15) shubhiks4★

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.

(15 Jan '18, 23:29) vijju123 ♦♦5★

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.

(15 Jan '18, 23:43) shubhiks4★

Well, since the last line of your question asked for suggestions, I gave mine. Didn't mean to offend anyone.

If you think that's not "Giving my best", you can think so

@shubhiks shouldn't have asked for suggestions if you can't digest others point of view lol

(16 Jan '18, 00:12) swetankmodi ♦♦6★

Actually I asked for suggestions on how to handle this imbalance (not on whether I should attempt them or not),so strictly speaking yours wasn't a suggestion; further I never said I would be able to digest your suggestion, it ain't food after all! (:

(16 Jan '18, 00:19) shubhiks4★

"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.

I strongly agree with @vijju123 's point up there :P

(16 Jan '18, 00:24) swetankmodi ♦♦6★
showing 5 of 10 show all

Hello everyone,
Being the setter of XYHUMOQ, I personally believe that above all reasons for having brute force sub-tasks, I would like to go with the one that's left unnoticed in this whole conversation.
Long challenges are made to teach the participants the patience to tackle with enormous WAs or TLEs before getting that final AC which in turn makes him/her mature.
There is no doubt in the fact that brute force sub-tasks are set for beginners for them to at least get the gist of the question by solving for them on their first encounter.
But, the small or brute force sub-tasks help in a really different way.
It can help even the best programmers out there to firstly confirm that they went in the right direction and somehow the code needs optimisation for larger sub-tasks.
But, moreover, it can help you to partially verify the code that you have crafted for the larger sub-tasks. One can easily check the new code that he/she has developed by the help of the smaller sub-task because you know, you have the right solution for that and you can easily verify the new code by matching the intended outputs for the smaller sub-tasks.
By this you will at least know where the bug is if you by chance encounter one. And personally, I myself have used this in many questions to find my fault. The most recent I remember is SMARKET from APRIL17.

And that for XYHUMOQ, the 15 point task was not that easy for first timers, it involved a good use of DP to calculate the answer for each possible string. And, since it had the X<=1000, one could have easily verified the solution for the larger task by running the code over manually created sub-tasks with X<=1000 and find the bug.

I hope I cleared the point.

Happy Bug Finding !!!



answered 16 Jan '18, 00:39

include_sajal's gravatar image

accept rate: 0%

What you said is true. But again, there are cases where the smaller sub tasks are weak and that one cannot rely on them (Problem 4 of this long itself is an example). Ultimately one needs to try be capable to give proof of correctness of his algorithm, we cannot rely on setter for anything. (Who knows, he might be an evil one :3 )

But aside from that, I agree with what you said. :)

(16 Jan '18, 00:44) vijju123 ♦♦5★

Hahaha.... Yes, you are right totally, we cannot say what setter has in his mind. Sometimes, Maybe that practice might make the problem tougher and interesting in its own way, we cannot say.

Btw, don't worry, I took care of the intricacies in the small sub-task too :P :D

(16 Jan '18, 00:55) include_sajal4★

However i think this was one of the best longs considering the questions(dp,binary search,suffix tree) (especially monster).

This is my opinion.


answered 15 Jan '18, 23:52

vivek_1998299's gravatar image

accept rate: 23%

"But, the small or brute force sub-tasks help in a really different way. It can help even the best programmers out there to firstly confirm that they went in the right direction and somehow the code needs optimisation for larger sub-tasks."

@include_sajal - You were spot on! In fact, in XYHUMOQ itself, solving the first subtask correctly helped me to be sure of my calculation for the no. of humongous subs. in the string. I'm not saying its impossible to do it manually, but we always trust that Green Tick more than ourselves, don't we :D


answered 16 Jan '18, 16:00

harshmmodi's gravatar image

accept rate: 0%

edited 16 Jan '18, 16:02

This long, i felt like after seeing the problems, that problem MONSTER, KILLKTH and XYHUMOQ were of almost same difficulty level - the difficulty level you would expect for 7.5th problem (harder than usual 7th, but not upto 8th). And yes, there was a huge difficulty gap between 5th and 6th gap.

But the thing that surprised me most was the results of challenge problem. Apart from 3 users getting 100 points and 1 user getting 66.67 points, no other user even crossed 10 points.

I would voice that the presence of brute force partials is favorable, therefore, should not be removed.


answered 16 Jan '18, 18:59

taran_1407's gravatar image

accept rate: 22%

@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.


answered 15 Jan '18, 23:17

bazsi700's gravatar image

accept rate: 11%

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)

(15 Jan '18, 23:32) vijju123 ♦♦5★

@vijju123 I didn't use any DPs, and I solved 7 :P (I solved the first 5 at the beginning, so I don't quite remember them, but that is some really is DP if it is DP)

(15 Jan '18, 23:51) bazsi7006★

Thats cool! For monster I was just stuck on how to update and what to do- no data structure directly supported it and yeah, I didnt went over in direction of SOS dp.

For humongous, man, meet in the middle and everything was quite clear, but I couldnt frame an expression to find "X" (number of humongous strings in a string) and that was bad. Real bad :( .

Well, more questions to push into the upsolver-stack XD

(16 Jan '18, 00:04) vijju123 ♦♦5★

i said unbalance was unfair. But I think 1 or 2 questions having trivial brute is okay (only if newcomers learn). Yes, in this contest, there was nothing much to learn from brute forces. I'm talking about long contests in general (from the past where there were nice subtasks).

(16 Jan '18, 00:09) swetankmodi ♦♦6★

@vijju123 After reading after it, turns out my monster solution is basically SOS DP, or at least uses the same idea. I'm not too good at judging whether a solution should be called DP or not. It feels pretty cool though to reinvent this :P

(16 Jan '18, 00:53) bazsi7006★

If someone really cares for his rank he will definitely go through whole set.
If someone does something, then he definitely deserves better than one, who is lazy to do anything in 10 days.
Like 6 points this long or say 4 points in May'17 long, each point is earned.


answered 16 Jan '18, 02:50

dhirajfx3's gravatar image

accept rate: 0%

YES,i totally agree with @dhirajfx3 @vijju123 on earning points by doing subtasks. it has following benifits... 1--> Better utilisation of time. 2--> keeping the hope alive for a tough one, 3--> subtasks motivate's the new comers as well to fight for best. 4--> it keeps u in touch of the hard problem and motivate u to effort more. 5--> sometimes subtasks can teach u some usefull tricks, for example XYHUMOQ problem , it has a very good subtasks of 15 points(not so simple at all......very few was able to find the way to count number of humangous subsequences. but i would still say that this contest was having unbalanced problems,but having subtasks is not an issue.


answered 16 Jan '18, 03:31

dk30390's gravatar image

accept rate: 9%

edited 16 Jan '18, 13:59

I feel that in Long Challenges your Rank might not be that important, as people with same marks are being ranked same. Here, I think you're given a chance to think on each problem and as said by @include_sajal.

These contest are really helpful for newbies as they get enough time to fight on the problem.

One thing more I want to add that those who are very good programmers need not to worry about their rank in this contest, as they are stars in contest of short duration.


answered 16 Jan '18, 15:01

ravikant88's gravatar image

accept rate: 0%

i agree with @taran_1407 .. if any one cares so much about his rank then he should solve all 10 problems and must secure 100 points in challenge problem what about those who are new and just trying to learn.. according to @shubhiks question 1 of codechef should start with square root decomposition and further questions should be like even gennady will find it difficult to solve.. kabhi doosron ka bhi soocho bhai


answered 16 Jan '18, 23:17

albert_012's gravatar image

accept rate: 0%


Lol! This made my day xD

(16 Jan '18, 23:40) shubhiks4★

haha..but its 11:52pm now.. so enjoy ur night.. if u cant solve 6th problem then its not the fault of codechef downvote karne se kuch nahi hoga bhai

(16 Jan '18, 23:52) albert_0122★

@albert_012 shubhiks has made a valid point. 2.5K submissions and 141 in next. Gap is huge. Something needs to be done.

(17 Jan '18, 00:06) swetankmodi ♦♦6★

almost same was in september long challenge 2017 i mean to say that codechef has not done anything wrong.. only 10 questions are given .. whether u want or not codechef has to increase difficulty anyhow at q6 and continue it further.. if even 10th q. submission is like rest others then participants will gain nothing and top coders from rest of the world will not find like to participate in it 6:4 difficulty level is what codechef maintaind most of the times..thora upar neeche hota rahta hai..but this was one of the perfect long challenge..

(17 Jan '18, 00:26) albert_0122★

Yeah so he just pointed out his views. You seem to have a different opinion that's all. Chill.

(17 Jan '18, 00:55) swetankmodi ♦♦6★

hmm... sahi hai

(17 Jan '18, 00:58) albert_0122★
showing 5 of 6 show all

Totally stucked in MONSTER after 10 points even shorten range of x which actually need to be processed to 131072(2^17) and precomputed all x from 0 to 131072 with given n still stucked.and HUMONGOUS QUERY is good question use of dp to compute subsequences of sequences and then flip. I computed sequences in optimal time but flipping create hurdle then finally i have to use brutforce for flipping and satisfy in 15 only without that dp sequences finding 15 is also not possible.i have one complain only some brutforce solution of killkth give me 5 marks in java but 20 marks in python using list comprehension...(maybe because i found that inbuilt substring method in java take linear time instead of constant time like in python).


answered 17 Jan '18, 01:11

abhi55's gravatar image

accept rate: 5%

edited 17 Jan '18, 17:50

Why aren't the ratings updated yet?


answered 15 Jan '18, 23:55

orlon's gravatar image

accept rate: 0%

The team might be going through the plags or some other issue might have popped in.

(16 Jan '18, 01:16) include_sajal4★

When will the ratings be updated?

(18 Jan '18, 08:40) vivek_19982996★

Am I the only one who's enjoying reading everyone's opinion!!

( ͡° ͜ʖ ͡°)


answered 17 Jan '18, 21:19

kunnu120's gravatar image

accept rate: 5%

toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here



Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text]( "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported
  • mathemetical formulas in Latex between $ symbol

Question tags:


question asked: 15 Jan '18, 21:06

question was seen: 5,699 times

last updated: 18 Jan '18, 13:56