Nyaan's blog

By Nyaan, history, 6 weeks ago, In English

I am one of the part-time staff members at AtCoder responsible for investigating cheating involving AI. Let me explain what happened during my free time today.

What I did in my free time today

I was browsing Codeforces blogs, as I often do for fun.

I found a post asking AtCoder to unban a certain user. The banned user was also in the comments, strongly insisting that they had not cheated. The comment section was full of people criticizing AtCoder. I immediately reviewed the case again. The user had been banned yesterday for cheating that took place three months earlier. After carefully rechecking the evidence, I also concluded that they had clearly used AI. (I will not explain the details because they relate to our methods for detecting AI use. The same applies to the cases below.)

The post also named another person who was said to have been falsely banned. I did not feel like spending even more time on this, but I carefully reviewed that case as well. That user had blatantly cheated one month earlier.

Next, I found another post in which someone claimed that AtCoder had banned them by mistake. I reviewed the case, and once again, the user had cheated.

A little later, another "wrongly banned user" was added to the first post. I reviewed that case as well. I doubt I need to tell you the result.

Finally, I found a comment on an AtCoder-related blog saying, "AtCoder banned me. I didn't cheat. Please unban me." I reviewed the case, and of course, that user had cheated too.

(Total time spent: a full two hours.)

Are you kidding me? Do all these people cheat and then somehow forget that they did it?! And the commenters kept making fun of AtCoder's banning system, without even knowing that we seriously review every claim of a false ban whenever we come across one!

Until now, I had taken claims of false bans on Codeforces seriously. However, after seeing so many claims from liars or people who had somehow forgotten their own cheating in a single day, I changed my mind. From now on, when I see a Codeforces post about a false ban, I will handle it as follows:

  • If the author had a max rating of LGM as of the end of 2025, I will treat it as a serious appeal that could affect their entire competitive programming career, and I will carefully review the case.
  • Otherwise, I will ignore it.

Unfortunately, this seems to be the most reasonable way to avoid being misled by cheaters' lies.

Please do not let cheaters convince you that AtCoder often bans innocent users by mistake. Also, if you find a blog post about a false ban by AtCoder, feel free to reply with a link to this article. Unfortunately, most people who write such posts are liars, people who have forgotten their own cheating, or fools who were tricked by cheaters into writing the post.

Some tips

  • If you believe AtCoder banned you by mistake and want the ban removed, the right thing to do is contact AtCoder through its official support channel, rather than write a post on Codeforces. Also, AtCoder’s official ban policy is described in the following article: https://codeforces.me/blog/entry/154651
  • This should be obvious, but just to be clear: even if you have entered 100 contests and competed honestly in 99 of them, cheating in even one makes you a cheater. And of course, AtCoder may ban you for cheating in a past contest.
  • Vote: I like it
  • +486
  • Vote: I do not like it

»
6 weeks ago, hide # |
Rev. 2  
Vote: I like it +2 Vote: I do not like it

Great blog!

Cheating in cp is getting out of hand, and the dedication and involvement of the atcoder team gives me hope. I would love to see some collaboration between atcoder and codeforces admins in catching cheaters.

There are some instances when users who got banned on atcoder received prizes after a codeforces round (ahem, ahem, RockyYue and his comment). And the author of the next div 1 round _MCYYDS_ was banned on atcoder as well...

  • »
    »
    6 weeks ago, hide # ^ |
     
    Vote: I like it +35 Vote: I do not like it

    I would also like to note that aaa_Pigeon2 has also cheated undoubtedly in the past. For reference, aaa_Pigeon2 has aaa_Pigeon as his first account. Notice the submissions in the first ever contest on the first account. 1 Submission on A to get it and then WA2 on problem B in a div1+2 when they are supposedly an IGM? I may not have been active recently, but I will not be taking part in the upcoming round as a form of protest and I suggest others to do the same. Now aaa_Pigeon2 will claim that they have a screencast to prove they don't cheat, but I find it awfully strange that they rewrite their template every time (Real users wouldn't do this!) and if you go through the video recording and use some translation (granted, this piece of evidence must be taken with a grain of salt), they mention NanYan who was also banned on Atcoder and are clearly cheating here. This is just a long rant, and sure, I could be wrong, but I believe the evidence surely speaks for itself in one form or another.

    • »
      »
      »
      6 weeks ago, hide # ^ |
      Rev. 2  
      Vote: I like it -77 Vote: I do not like it

      Why would a legitimate contestant necessarily reuse previously written code templates?

      In Chinese contests, contestants are not allowed to bring any reference materials or code with them, so I have to write the templates from memory during the contest. To memorize them more firmly, I choose to rewrite them when participating in online contests as well. What is wrong with trying to write them better?

      Also, if I had not deliberately performed poorly in my first few contests, Codeforces would have banned my account immediately. Before participating in a contest on my first Codeforces account, I was already yellow-rated on AtCoder. However, I failed to hold back my performance carefully enough(My original plan was to deliberately underperform in my first contest, then compete normally afterward to show that I wasn’t using a smurf account), so the account aaa_Pigeon was still banned.

      • »
        »
        »
        »
        6 weeks ago, hide # ^ |
         
        Vote: I like it +29 Vote: I do not like it

        Sandbagging in Terms of Rating "In the context of ratings, sandbagging refers to the deliberate act of lowering one’s rating by intentionally losing games or underperforming to one's ability."

        Also, you accessed qq during competition

        1. Of course, during the competition it is forbidden to communicate with other participants, share ideas, solutions or hacks. In general, violation of the rules of sports and personal ethics can lead to disqualification. It is prohibited to access the network, attack system security, work with filesystem, try to hack the judge and etc. In short, respect yourself and others.

        Link to the rules here if you didn't read them already :)

        https://codeforces.me/blog/entry/456

        • »
          »
          »
          »
          »
          6 weeks ago, hide # ^ |
           
          Vote: I like it -51 Vote: I do not like it

          Since Codeforces banned my account without asking me anything first—which I do not believe was in accordance with proper procedure—I do not think I have any obligation to follow the first rule either.

          As for communicating during a contest, I believe it should be fine as long as no one discusses the solutions. Otherwise, I am sure that 99% of participants use some form of communication software during contests. Even internet access would have to be prohibited—but how are people supposed to participate in Codeforces without the internet? By that logic, wouldn’t everyone be cheating?

          Also, rather than continuing to investigate alleged cheating here, I suggest that you spend more time improving your own skills. Reaching IGM is not difficult; you only need to spend two years solving 4000 problems.

          Since the Codeforces staff themselves have concluded that I did not cheat, and I can also provide video evidence, why are you still wasting your time on this?

          • »
            »
            »
            »
            »
            »
            6 weeks ago, hide # ^ |
             
            Vote: I like it +32 Vote: I do not like it

            If you spent two years solving 4,000 rated problems, could you explain your atcoder rating graph? Doesn't align with someone who can actually solve 4000 rated problems at that time! (1.5-2 years ago, you were bronze to cyan on Atcoder, hmmmm....)

            Also, pretty sure nobody is above the rules :/

            And your contest results were skipped and a banned account sooooo...

            • »
              »
              »
              »
              »
              »
              »
              6 weeks ago, hide # ^ |
               
              Vote: I like it +19 Vote: I do not like it

              If you still want to argue about this, we can take it to messages as I doubt this person wants to constantly be notified of our arguments

  • »
    »
    6 weeks ago, hide # ^ |
     
    Vote: I like it -26 Vote: I do not like it

    Regarding _MCYYDS_, I know a little about what happened. He solved F2 in an ARC, and AtCoder apparently banned everyone who solved F2. However, the issue is that none of the mainstream AI models at the time, including GPT and Gemini, could solve F2. Moreover, his case analysis seemed incomplete, and he submitted a solution that appeared to be incorrect, only to find that it was accepted.

    He said that his appeal was later successful, but AtCoder replied that his account had already been deleted and therefore could not be restored.

    I cannot guarantee that all of the above information is accurate, but given his strong performance in onsite contests, I do not believe that he cheated.

    • »
      »
      »
      6 weeks ago, hide # ^ |
      Rev. 2  
      Vote: I like it -41 Vote: I do not like it

      [Deleted]

      Apologies for asserting MCYYDS is misbanned and AtCoder cannot restore accounts

      • »
        »
        »
        »
        6 weeks ago, hide # ^ |
         
        Vote: I like it +85 Vote: I do not like it

        I work as an AtCoder writer and tester, but I am not involved in bans in any way, and I have never reviewed the submissions of users suspected of cheating.

        I will not make any judgment regarding the cheating allegations themselves, but I would like to point out a few factual issues.

        • None of the mainstream AI models at the time, including GPT and Gemini, could solve F2.

        This is incorrect. As a tester for that contest, I know that an AI solved F2 before either the problem statement or the editorial was made public. I have seen both the solution and the source code, and I can still verify this from timestamped records.

        Because the output of LLMs is highly inconsistent, it is difficult to conclude definitively that they cannot solve a particular problem. Making such a claim would require extensive testing across multiple AI models and a large number of attempts.

        • Since AtCoder deletes accounts, wiping all ratings and submissions, it seemed that it's impossible to recover a misbanned account.

        There have been cases in which accounts were restored after an inquiry, both when the account had been deleted by the user and when it had been banned.

        Moreover, if the submission data had actually been erased, Nyaan could not have conducted a later re-examination of submissions made by banned users.

»
6 weeks ago, hide # |
 
Vote: I like it -20 Vote: I do not like it

Hi! This question is a bit off topic, but I've been tracking your progress for a while and would like to ask you: do you think cheaters have affected your rating in any way?

»
6 weeks ago, hide # |
 
Vote: I like it -8 Vote: I do not like it

I hope Codeforces also takes this issue seriously. AI-assisted cheating has become increasingly common, and AI should have no place during programming contests. The purpose of competitive programming is not simply to get an Accepted verdict, but to train participants to think, analyze, and become better problem solvers. Contests are also designed to identify hardworking and genuinely talented programmers under fair and equal conditions.

Using AI during contests does not help contestants improve; it only creates the illusion of skill. In the long run, the person who cheats loses the opportunity to learn, while honest competitors are treated unfairly. It also makes ratings, rankings, and contest results less meaningful because they no longer accurately reflect participants' real abilities.

I hope Codeforces, AtCoder, and other competitive programming platforms continue improving their detection systems and cooperate whenever possible to protect the integrity of competitions. Competitive programming should remain a place where effort, creativity, and genuine problem-solving ability are rewarded—not the ability to use external tools during a contest.

»
6 weeks ago, hide # |
 
Vote: I like it -64 Vote: I do not like it

"If you have never been an LGM on codeforces, we will never re-review your case for being banned on atcoder"

I'm reading that correctly?

  • »
    »
    6 weeks ago, hide # ^ |
     
    Vote: I like it 0 Vote: I do not like it

    Read 1st tip

  • »
    »
    6 weeks ago, hide # ^ |
     
    Vote: I like it +111 Vote: I do not like it

    It seems that I did not explain this clearly enough, so let me clarify:

    • Of course, AtCoder as a company is not required to read reports of false bans posted on Codeforces blogs.
    • However, on my own initiative, I had been reading reports of false bans on CF blogs in my own time and then carefully reinvestigating each case.
    • I have now changed my mind, so unfortunately, from now on I will generally ignore reports of false bans posted on CF blogs.
    • As I wrote at the end of the article, if you report the matter to AtCoder through the proper channel, AtCoder will handle it appropriately.
»
6 weeks ago, hide # |
 
Vote: I like it -90 Vote: I do not like it

I honestly don't even know why people care that much about the legitimacy of players on online competitive programming sites. Everybody knows half of the people on these sites are cheating to some degree (legit do A, B on div 2, then cheat on C, D). What's the point of even trying to catch cheaters at this point anyhow. Just enjoy your life and move on, you'll never beat AI.

»
6 weeks ago, hide # |
 
Vote: I like it -35 Vote: I do not like it
If the author had a max rating of LGM as of the end of 2025, I will treat it as a serious appeal that could affect their entire competitive programming career, and I will carefully review the case.

ratism :sob: