Amateur Authors, Lazy Testers and Jan Challange - 2018

The idea of having first 5 easy questions and the rest 4 hard questions is of no practical benefit.

Sure beginners would be able to solve more questions at first, but after a few months they are going to get stuck for a long while when they reach upto 5th problem, which shouldn’t take long.

The path from beginner to intermediate (solving 5th of Jan long) happens relatively quickly. But the next part, going from intermediate to advanced is a very lengthy process.

The most motivating part about long challenges is that you can see your progress. Each time you solve more problems than your previous best, it feels like a milestone and makes you feel like you can keep improving, which is a feeling that would be deprived to all of the intermediate coders.

The difficulty levels should increase in a linear way so that everyone can feel that they are improvising.

If Codechef has enough budget and really want to improvise beginners without affecting the intermediate coders, they might as well start a parallel div 2 long contest with 7th problem of div1 being the 10th problem for div2 or any other reasonable equation.

2 Likes

So this is the reason for my first five AC XD

1 Like

One of the reasons behind problem CHEFPALS having this steep change (100, 100, 100, ~67, ~10, etc) is that it is a minimization problem. Maximization problems have a smoother gradient usually.

The better the maximum score is in a minimzation problem like this one, the more difficult it is for the others to keep up. Say, if the best score is 10, you would need to get at most 20 to get 50 pts., i.e. within an absolute difference of only 10, which is negligible and means that this submission is almost as good as the top one, but got 50 pts. less.

On the other hand, maximization problems offer a lot more chances. If the top score is 1,000,000 (i.e. 1 million), then to get 50 pts. you need to score at most 500,000 - i.e. within an absolute difference of 500,000 - which is much more manageable. What I mean is that score in points increases linearly with score of submissions, which is not the case in a minimization problem.

4 Likes

I think that it was quite unfair to award points for wrong brute force solutions for small subtasks or large subtasks.This has happened to me quite a few times and recently in the problem link:CodeChef: Practical coding for everyone ,where i was awarded 20 points, may be many others like me for test case :2 8, this was the corner case even though the constraints of Subtask #1 (20 points): sum of N in all test cases ≤ 50, should not allow my solution to pass for 20 points.Actually i think this test case was not included for 20 points subtask. My solution link was :CodeChef: Practical coding for everyone .Such issues affect the learning, as new comers may not be able to figure out ,as they will be convinced there answer is correct for small subtasks and create confusions.This is a serious matter of concern.
The quality of problems was very good, but the first one was far too easy and such problem must not given, atleast in long contests.
Happy Coding!

1 Like

just to weigh in here, i think the topics to which the question belongs should at least get visible as soon as the contest gets over. the editorials take time to publish, while in the meantime if we can get the topics at least, we can do some analysis about possible approach.

1 Like

i agree with the idea that problems have generally steep difficulty level
mostly after 5th.
they shld have gradually increasing difficulty level. This helps us to keep track of our progress. sudden rise in difficulty level demotivates mamy programmers as they think that they are not able to make any progress even after trying so hard

This is my first time to post any comment,so Very sorry if my words will hurt u,but this is very necessary to tell u…

this is really very wierd Lazy tester,i got to know that someone posted a solution of Problem-RECTANGL in january long challenge,and it is very obvious that this solution is incorrect but still he/she got full points for this incorrect solution,Now,i am not revealing his/her name,but i can show u that incorrect solution by submitting that solution (by me)…

link of incorrect solution : CodeChef: Practical coding for everyone

take input : 1 2 3 4
and u will get to know everything…

Please don’t be lazy for next time because your laziness can result into losing faith from codechef…

4 Likes

Hi Guys

I was the author of problem KILLKTH and I am sorry that I messed up in my first contest as problem setter on codechef. There were some issues regarding problem during contest but I never got to know that some suboptimal solutions are getting AC, I know it was my mistake I hadn’t checked too many AC submissions and the ones encountered were good enough. I am really sorry. Nevertheless, I learnt a lot of things out of this and will try to nullify these the next time I set some problem (If I get this golden opportunity again).

I would like to thanks Triveni sir for pointing out my mistakes and helpping me in improving myself as a problem setter.

12 Likes

Participants also solve the same problems but they are not paid, so why should you be paid to do the same ?

You serious? The contestants are voluntarily solving problems while a tester is not voluntarily creating test sets. Its a job. they should be paid. If someone voluntarily wants to create test sets then that’s different.

I do not understand your logic, by that logic no body should be paid anything in the world if a counter example of such work being free (for friends for example) exists. If I drive my friend to office for free doesn’t mean I am obliged to do that for free for everyone else in the world.

1 Like

I thought 5 easy problems was a mistake. But knowing it was intentional is very disappointing @admin . Hmmm guess the golden age of codechef is over. It sucks when your rating drops when others beat you by doing the harder ones with brute force. Because not everyone is a fan of brute force.

For some reason I get this feeling that you guys are doing this to get more registration to CCDSAP. I get that you need money and all but not at the cost of quality.

I don’t think you have to make first 5 easy. The first 2-3 are for newcomers, and other 2-3 should be for beginners/lower-intermediate coders.

Making first 5 easy, helps newcomers, as they can solve 4-5 instead of 2-3, but it also ruins the balance for beginners/intermediates, especially with 6th being harder than usual. There was no border between these people, and this can mess up ratings.

4 Likes

I disagree as well with making first five easy. Steepness in submissions is never good in my opinion. It means lots of ties, and more “discrete” differentiation of participants, which would else be more spaced, continuous.(i mean, we really do not want 1 block of participants having rank 200, and then next 1000 having rank 201. Not good.).

There is a limit upto which subtask of 4 problems can do. And if we begin differentiating by 0.1 point of challenge problem- that will lead to dissatisfaction.

3 Likes

This, is completely correct. I agree with you, especially last 2 paragraphs. My opinion is best voiced by this line of yours-

Lowering the quality of an already reputed contest to fit in newcomers, would never be my suggestion.
2 Likes

I think there is a confusion about the interpretation of my statement. By making the first 5 problems easier, I meant the following.

Sometimes, even cakewalk problem becomes slightly difficult than intended and it becomes of difficulty like cakewalk-simple. For the first five problems (specifically first 4), if we think the problem is difficult than the desired category, then we will try to make sure that it fits the category, i.e., we will make an error on the categorization of first 4 problems on the easier side rather than on making the problems a bit difficult side.

2 Likes

There is a confusion about the interpretation of my statement. I have clarified it up in the above comment. Actually, I meant that we will err on the easier side than on the harder side for the first 5 problems (specifically, it will be more focused on the first four problems).

This makes sense. Now I am interested to know if the scoring function can be maped from exponential into linear type function. I am not saying it is needed, but if can be done, scoreboard will look better. So we won’t see 100, 99.9997 … 99.996 etc. Neither would we see scores like this month.

I will forward this to @admin. Thank you. :slight_smile:

Must forward @vijju123

In my opinion, the exponential function is all right as long as the scores aren’t too varying (that might mean, in our case, tighter constraints, for example 10,000 or even 100,000 blocks instead of only 1,000 which would eliminate quadratic algorithms). For example, in a recent problem about Santa and the presents, which was a minimization problem, the scores were rather reasonable.

Sorry, but what you have written here makes almost no sense.

You can multiply all scores by 1e9 in your first example to get bigger absolute difference, if you want to :slight_smile:

At practice it depends on particular problem - for some of them such scoring function works well, for some it makes no sense. Problem being about maximization or minimization is not really related to it - issues are possible with both kinds of tasks.

3 Likes