Feedback Of February Challenge 2018

Hi Fellow Programmers,

The Feb long challenge has just concluded. We hope that you enjoyed participating in the contest. Please feel free to pitch in your views about anything that you would like to mention about the contest.

CodeChef Admin


Thanks for posting quick editorial :slight_smile:

How come this solution to the question Chef and odd queries: CodeChef: Practical coding for everyone that uses a bitset of total size 10^10 bits (i.e. 1250 MBs) passed, where normally memory limit is 256 MB or 512 MB in long challenge questions. Also, the memory limit is not mentioned at all in the problem! This solution solves the problem without any segment tree or sqrt decomposition but just using bitsets. I think this kind of solutions having O(N^2) memory are not supposed to pass for chef and odd queries. @admin @markysha

1 Like

Very nice.Enjoyed it a lot!

One of the best long challenges I’ve ever taken. Well balanced and nice problems.

1 Like

I think codechef should start providing the test cases once the contest is finished. It will help us more in finding our mistakes.


plz provide official editorial … quite good contest!!

can anyone tell how the bitset soln passd. Not only it has memory complexity N^2 but also time complexity of N^2. On the other hand i dont think testcases were very weak as my CodeChef: Practical coding for everyone O(Nsqrt(N)log(sqrt(N))) algo failed. Or did i miss something?


Regarding the gradient of the contest , I feel the first 5 problems were good as per their difficulty level but 6th,8th,9th and 10th problems should have been a little harder than they were, especially the 9th problem which require only a greedy approach.


Hello Community!
I wanted to contribute to the community but since I don’t have enough karma points, I want you to upvote only if you like my unofficial editorial on PERMPAL :
Contest link:CodeChef: Practical coding for everyone

My approach:
1.The answer will be -1 only when the count of any of 26 characters is odd and there exists more than one such character’s example : abbc, here we can see both ‘a’ and ‘c’ have odd count in the given string.
2.In any other case, we will always find a answer, that is pallindrome.
3.Based on above point, we will deal with two cases :
—(A)When only one character comes with odd count and rest other characters with even count.
—(B)When all the character in the given string are of even count.

Now the question comes How to solve this?

So it is much clear for case 3(A) that the odd count characters should be in the middle of string in order to make it pallindrome, eg abbba n(b)=3 i.e odd

Since the ordering of characters won’t matter in case of even count, we will print index one by one from vector<vector> v(26), I have used this for storing the index of each character(a-z) in the string.In the output I need to just print the even count characters index ,simultaneously from beginning and end.
Keep in mind that the odd count character should be in the middle.

If you give up, you can see my solution here:CodeChef: Practical coding for everyone

All suggestions are welcome!

Thanks Community,
Happy Coding!

1 Like

while other thinks the contest was well balanced. i think the opposite. see the accuracy fell frm 20% to 5% between 4th and 5th ques. difficulty of prob shld increase gradually (as discussed in @triveni’s post). ,

I too agree with @abx_2109,probably that was because the alternative solution was much simpler than the desired solution(like bitmask for CHANOQ,greedy for 9th sum),if the memory limit were strict,then it could have been a more balanced contest.

But overall,liked it.


@admin This is another "Weak testcases in … " kind of post :p. The testcases of the problem POINPOLY were weak this time. What I did is first, I found the minimum and the maximum y co-ordinate of the vertices of the polygon.Lets say they are miny and maxy. Now, I found all points inside the polygon having a particular y co-ordinate, say d. So I iterated for d from (miny+1) to (maxy-1), and found two intersection points of the line y=d with the polygon.(This is guaranteed that there will be two intersection points, since the polygon is convex and miny < d < maxy.) This I did in O(n) for each d. Once I get the two intersection points at y=d, say (l,d) and (r,d) (l and r will not always be integers, but I manipulated accordingly so that they are inside the polygon, by either taking ceil for left and floor for right.). Now I output all points (x,d) such that l<=x<=r. When I get (N/10) points, I break the loop. This solution has a complexity of O((maxy-miny)*n), but still it passed the 30 pts subtask and got TLE in just one file of the large task. Then I reversed the loop and iterated d from (maxy-1) to (miny+1). This solution got 100 pts. :stuck_out_tongue: . This is slow enough even for the small subtask, only when there are counter-cases for such a solution, which wasn’t. I can make it work even faster by choosing random d in [miny+1,maxy-1]. I think making counter-cases for this solution is hard too. But I will be happier to see a TLE verdict for such solution, so that I come up with a better solution.
Here are the two solutions :-
CodeChef: Practical coding for everyone // 30 points, TLE in just one file of large input.
CodeChef: Practical coding for everyone //100 points

Nice contest!

It would be really great if the search for Submissions for a particular problem allowed you to filter by “pts” as well as Language and Result (All/AC/WA/…). If you want to find the fastest 100pts solution, you may have to check through 100 pages of 10pts solutions first.

Also, it would be nice if the Submissions search showed you the size of the program. So you could look for short programs, which could be helpful if you wanted to find the cleanest / most instructive answer. (I suppose this would be controversial, since it would give a little extra information during a contest, but it could be interesting/encouraging to know if there is a short solution.)

If the Submissions search allowed you to download the results as a csv file or something, then people could make their own views of the solutions, e.g., a scattergram of (speed,size).

1 Like

@alexthelemon can u explain ur method how u solve poinpoly

The ranklist has totally changed ,and that too after updation of ratings.

Here is the ranklist: CodeChef: Practical coding for everyone

Is this a bug or rating would be updated as per the new ranklist?

The Competition was very well balanced!! One of the best long challenges till date!!

1 Like

It was an amazing contest. Well balanced and each question was interesting. 4th question was tricky and based on observations . I love this type of questions. Enjoyed a lot:)

Hi, I am new to CodeChef so I don’t know where to find the editorials. Has the editorial been released? If so can someone tell me where to find it?

I felt there was a significant number of problems on mathematics and geometry than dataStructures and algorithms based when compared to other Codechef long challenges. If that’s how the mixup should be, then I feel it was a good problem set.