[DEC'14] Even winners cheat

It seems that both North Korean teams which got the top 2 places in the December 2014 long contest (@msm1993 and @rns4) cheated by using multiple accounts. It seems that it’s not enough that they participate in teams, which makes it very difficult for the rest of us who participate individually to compete against them, but now they also used multiple accounts. Moreover, by using multiple accounts, they exceeded the 500 submissions limit for the challenge problem (which is probably one of the main reasons for which they needed a second account).

@msm1993 used @kutengine as the 2nd account:

You can see the similarities in variable definitions and in the functions used (particularly in namespace CR).

@rns4 used @new_bad_coder as the 2nd account:

See the variable definitions at the beginning of the code and the function doitkhs().

I guess each of the 2 teams wanted to win so badly, that they needed to make more than 500 submissions for the challenge problem in order to tune their solutions more - and using a second account was the only way to achieve that.

I already sent an email to feedback@codechef.com and I hope the admins will take appropriate action. In my opinion punishing such cases is all the more important as the 2 teams obtained the top 2 places in the contest and would otherwise be rewarded with cash prizes.

Edit: It seems that the long contest rankings were updated after DEC’14 and @msm1993 was not considered a cheater (and, thus, they won the contest). I think this is disappointing, because the cheating is obvious if one looks at @msm1993’s submissions and at @kutengine’s submissions (@kutengine’s submissions contain just a part of @msm1993’s submissions, because they were testing only some specific parts of the solution to the challenge problem). To me it seems clear that @msm1993 used the @kutengine account in order to be able to make more than 500 submissions at the challenge problem (in fact, they made more than 700 submissions from both accounts in total). This way they were able to tune their algorithms much better to the official test cases, which was one of the key elements in them getting the best score in the challenge problem.

Edit 2: The @msm1993 cheating case has now been addressed by the Codechef team and his submissions were disqualified from the contest. I apologize to the Codechef team for accusing them of not doing anything about it. It seems that the Codechef team was busy with organizing ICPC onsite regionals (which I agree should have the highest priority, given Codechef’s mission). It’s just the process of looking into cheating cases is not transparent and, from the outside, it seemed that nothing was being done. Sorry for that. Anyway, all’s well that ends well.


One obvious way to reduce the unfair advantage teams gain over individual competitors due to their ‘increased firepower’ by which they can try out hundreds of different approaches in the allotted time, is to reduce the allowed number of submissions only for the ‘challenge’ problem to something more reasonable, say 50 or 100.

This number should be enough for an individual competitor to progressively tweak and improve his/her code over 10 days, but not enough for a team which is blindly trying out all approaches in order to win by ‘brute force’.

As far as the goal of Codechef is concerned (preparing Indian teams for ICPC World Finals), I don’t think the tournament allows so much time that a team can reasonably use 500 submissions on a single problem. I may be wrong here as I have never participated in it.

Even when the submission limit is reduced, people can cheat (make a new account and use its submissions), but atleast they won’t be doing it legally, and can be disqualified if caught.


@neo1tech9_7: No, the CR namespace contains many functions which are specific to solving the challenge problem. See, for instance, score(), correct() and calc(). I read the code of the best submission of @msm1993 in order to understand what their approach was and I know what those functions do. Only the functions link() and cut() may be considered to be general-purpose functions in that namespace. Anyway, you can see identical functions in other parts of the code (e.g. the functions shuffle_edges() and change_weights()).

@neo1tech9_7: Sorry, I don’t know what happened to your comment to which I replied.

@mugurelionut Sorry, actually It was my fault I deleted my comment because I saw the codes again and they were pretty much the same except some functions. For anyone who didn’t see my comment I wrote that msm1993 and kutengine may have a common library from which they copied the codes as they are from the same university but apparently I was wrong.


It seems that rns4 and new_bad_coder’s submissions have been disqualified as their submissions have disappeared from their profile page.

1 Like

@neo1tech9_7: You’re right. It seems that @rns4 was “caught” by the Codechef team already. I hope they will also disqualify @msm1993 soon, because if they don’t then they will end up rewarding cheating.


Individuals competing against entire teams? Thats so unfair. :frowning:


@eisenhover: I agree with you, but that’s the way it is. The top North Korean competitors are, in general, teams competing under a single user name. See the discussion here if you’re interested: http://discuss.codechef.com/questions/45900/north-korean-participants-competing-in-teams

1 Like

@eisenhover: I agree that reducing the number of submissions even further would be a good idea (I have a number like a 200 submissions limit in mind, but any lower limit would be good).

1 Like

To be precise: a team at ICPC wouldn’t be able to make 500 submissions, since they’d probably be disqualified after a few dozens for deliberately slowing down the contest system (and not stopping when warned). At least that’s how it is at CERC :smiley:


Did you get any update on this? I’m surprised that one of them was banned but not @msm1993. It’s crystal clear in both cases.


@mogers: I received a reply from the Codechef team on Dec. 23rd saying that they will look into the cheating case of @msm1993. But, honestly, I don’t know what that means. As you said, both cheating cases are obvious, and I don’t know what made them ban only @rns4 and not also @msm1993. But there’s nothing more I can do. Hopefully, the Codechef team will really check @msm1993’s cheating case and ban them, too - but if they don’t, well… it’s their contest and their rules and they can do whatever they want about this (including to ignore obvious cheating cases).