Showing why MapMc is a cheater

Revision en1, by _Kee, 2025-11-13 16:33:19

Yesterday, Furioso_Slient authored a blog article, in which he said that his submissions in Codeforces Round 1063 (Div. 2) were incorrectly skipped, and insisted he didn't cheat in the contest. I disagreed, and posted a comment to that blog post, showing some evidence that his submissions were indeed suspected to be AI-generated.

Today, he apparently made a reply to my comment, but I couldn't read it, because he deleted his original blog post for some reason. Now my comment is gone as the parent blog post is deleted. In this blog post, I recover what I wrote in my comment earlier with massive rewrites and additions, and try to explain why this person is a cheater. I usually don't write this kind of blogs, but I'm doing this time because (1) I don't want to waste my effort to investigate his submissions, and (2) I want to make him responsible for his own actions.

Evidence

I want to highlight his in-contest submissions to 2163B - Siga ta Kymata. He made six submissions in total; here are links to each of them in the chronological order:

I want to encourage you to look at the differences between A and B, and the differences between D and E (use the "Compare" button in the submission page). Those two pairs of submissions are only about 4 minutes apart each, yet there are surprisingly many differences between them (each pair).

Regarding A->B. This should be very clear; A is only 24 LOC but B suddenly becomes 161 LOC. It's very surprising if a human could write this amount of code in this short time period, in response to the WA verdict.

Regarding D->E. This is interesting in a different way. If you look at the diffs, you can see a lot of code churns that aren't fundamentally necessary. Examples include:

  • A space after the keywords if, for, and while is consistently deleted.
  • Variable names are renamed for no good reason — get_min -> qm, get_max -> qx, L -> l, R -> r, and l -> len.
  • Prefix ++ operators are rewritten to postfix ones for no reason.
  • Arguments passed to ios::sync_with_stdio() and cin.tie() are changed to false and nullptr, because they are cool, I suppose?
  • When a vector of pairs is printed, a structured binding is used for no reason:
-            for (auto& pr : o) {
-                cout << pr.first << ' ' << pr.second << '\n';
+            for(auto [l, r] : o) {
+                cout << l << " " << r << '\n';

At this point, it should be clear: a sane human contestant doesn't make such code changes during a contest. It's undeniably clear that he used AI for writing his submissions. The admins skipping his submissions was a right call.

That's it. Opinions welcome.

History

 
 
 
 
Revisions
 
 
  Rev. Lang. By When Δ Comment
en1 English _Kee 2025-11-13 16:33:19 3166 Initial revision (published)