The advantage of long contest is to have more time to solve problems, than a short contest. But since it is prone to cheating, how about we have a medium contest with a time limit of 24 hours. It is long enough for thinking but short enough so that cheaters don’t share solutions.
Not bad but its not enough,
I believe codechef needs to come up with some way to track “potential cheaters”, and instead of slapping each of them with “plagiarism” tag, they can temporarily not consider them while calculating ratings.
Now, once we have a list of “potential cheaters”, codechef should then organize a small private competition solely for these individuals, give each participant random set of problems (probably unique to them) equivalent in difficult to what appeared in contest in which they cheated and then if they are unable to solve these questions upto some satisfactory level, then they should be exempted from rating.
This system must exist along with MOSS, they can use some ML model to detect these unusual patterns or whatever suits them best, but they absolutely need to take some action.
codechef solutions are leaked even in lunch time and cook offs. codechef cannot stop each and every cheater. cheating will happen. people who really solve on their own, even if their rank is bad will definitely progress in long term. people who cheat will fail in hiring challenges and interviews. so let the good people try and let the cheaters cheat