Hey guys! This question had been in my mind since a bit long.

When we come to marking schemes of different website on contests, we see drastic differences. Eg- Hackerrank follows a partial marking where every test case carries some marks/weightage (may/may not be equal to other test cases), while Codechef is a full or zero (in Q without a sub-task) and sites like hacker earth follow a middle way (some Q partial marking, some Q full or zero).

So I want to know that why does Codechef prefer its system of “Zero or Full” in case of no subtask?

I mean, in my opinion, this full or zero would give zero to even a program which solved all test cases but 1 (Increases amounts of ties, has chances of being seen as ‘unfair’ to some). And personally I feel that partial marking helps in reducing the number of ties between contestants. And it kinda seems “fair” to get some points on your program/algo which passes some of the test cases.

So, why does Codechef prefer its marking pattern?

(Another example to illustrate my point-

Lets say a 25 point program with 5 test cases is on Hackerrank and Codechef, and let its first sub task (Sub Task 1) be of 5 points, where values of inputs are small. And Let Sub Task 2 (i.e. the next Subtask after Subtask 1) has 2 test cases dedicated to it, where values of inputs are kind of medium-large.

2 people, A and B, write programs. A’s program is slower than B. And even B’s program is not ideal, but its kind of better than A. A only passes the first test case (Sub task 1) and gets TLE while B passes 2 test cases and gets TLE in 3rd test case, which belonged to Sub task 2.

On Hackerrank - B gets 10 points while A gets 5 points.

On Codechef- Both get 5 points for passing Sub Task 1.

Question- Why does codechef prefer its marking pattern, over complete/100% partial marking?)