Блог пользователя harrypang

Автор harrypang, история, 5 недель назад, По-английски

Hello Codeforces community and administrators,

I am writing this blog to request a manual review of my submissions in contest 2257 — Codeforces Round 1117 (Div. 2). I recently received a notification stating that my submissions were skipped because of a rules violation.

I was surprised and confused by this message, because I am not aware of having violated any rules during the contest. I did not share my code with anyone, did not use any unauthorized tools, and did not intentionally break any contest rules.

I suspect that my code may have been mistakenly flagged as AI-generated. However, all the code I submitted was written by me during the contest, without the help of any AI tools or external assistance. I understand that automated detection systems can sometimes produce false positives, and I would like to request a careful manual review of my submissions.

Below is my code:

387415443,387415523,387422564,387453315,387462243

  • Проголосовать: нравится
  • -20
  • Проголосовать: не нравится

»
5 недель назад, скрыть # |
 
Проголосовать: нравится +19 Проголосовать: не нравится

Auto comment: topic has been updated by harrypang (previous revision, new revision, compare).

»
5 недель назад, скрыть # |
 
Проголосовать: нравится +16 Проголосовать: не нравится

Auto comment: topic has been updated by harrypang (previous revision, new revision, compare).

»
5 недель назад, скрыть # |
Rev. 3  
Проголосовать: нравится 0 Проголосовать: не нравится
The things I said :(

Currently: This is entirely my fault :(

  • »
    »
    4 недели назад, скрыть # ^ |
     
    Проголосовать: нравится +33 Проголосовать: не нравится

    Well deserved lol https://codeforces.me/submissions/pangharry/contest/2257. If you can't see a reason it doesn't mean we don't have one.

  • »
    »
    4 недели назад, скрыть # ^ |
     
    Проголосовать: нравится +23 Проголосовать: не нравится

    Update: CF correctly detected a cheater. The only false positive here was the one your comment invented.

    • »
      »
      »
      4 недели назад, скрыть # ^ |
       
      Проголосовать: нравится 0 Проголосовать: не нравится

      thanks, +ban me too!

    • »
      »
      »
      4 недели назад, скрыть # ^ |
       
      Проголосовать: нравится 0 Проголосовать: не нравится

      orz

    • »
      »
      »
      8 дней назад, скрыть # ^ |
      Rev. 2  
      Проголосовать: нравится 0 Проголосовать: не нравится

      My Codeforces account np254 was disabled after Round 1121. I did not use AI assistance, receive solutions/help from anyone, or share my solutions during the contest.

      There are a few things I believe could potentially have triggered the disablement:

      1. The A/B submission sequence: After my A solution was accepted, I clicked the browser's Back button to return to the previous Codeforces submission/editor page. Problem A was still selected. I then wrote my B solution from scratch directly in the Codeforces editor, but forgot to change the selected problem from A to B and accidentally submitted that B code under A. I noticed the mistake immediately, selected B correctly, and submitted the same B solution again, which was accepted.

      So those two submissions at essentially the same time were not two different solutions, nor was I copying/pasting an existing solution. It was the same B solution I had just written in the Codeforces editor, accidentally submitted with A selected, followed immediately by the correct B submission.

      2. Code similarity/plagiarism: My previous Codeforces submissions show a very consistent coding style with my Round 1121 submissions — the same formatting conventions, variable-naming habits, loop structures, conditions, input-reading patterns, and overall program structure. For example, I repeatedly use the same do...while pattern for reading input. I am completely comfortable with the admins comparing my Round 1121 code against any of my older submissions, including Round 1120.

      3. AI use: I did not use AI during the contest. I solved A, B and C and attempted D, but my D solution was incorrect. I understand that this result alone cannot prove authorship, but it is part of the overall context of my contest performance.

      I am not asking anyone to simply believe my statement. If there is a specific submission, code pattern, detection result, or anything else that triggered the action on my account, I would genuinely like to know what it was.

      I am willing to explain the approach, reasoning, implementation decisions, and even the thinking behind individual lines of every Round 1121 solution. I can also provide my earlier submissions so they can be compared against my contest code.

      If something other than these possibilities triggered the disablement, please let me know. I am ready to address it and provide whatever justification or evidence is needed.

      • »
        »
        »
        »
        7 дней назад, скрыть # ^ |
         
        Проголосовать: нравится 0 Проголосовать: не нравится

        MikeMirzayanov KAN

        Please Please Please do a manual review for np254

        Please

»
5 недель назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

I vouch for this user. I have seen his coding style, and it's clearly the code he wrote himself during the competition. The default sources he uses in his code are also very normal. In such an online open competition, it's very normal and understandable to use default sources for competition. I don't understand where his code resembles AI.

Moreover, his performance score and the time taken to solve the problems are quite normal. I believe this is the full potential that a player with this rating can display. I don't think the short submission interval is a criterion for judging whether it's AI or not. He could have finished solving Problem B after being penalized for Problem A. The time taken for Problem E seems to be less than that for Problem D, but it's not enough to determine that he really used AI. To be honest, I could easily finish this code in half an hour, and it's highly likely that he had already completed his thinking for Problem E before he finished Problem D. I hope the management team can see the truth and withdraw the punishment, because it's unreasonable.

  • »
    »
    5 недель назад, скрыть # ^ |
     
    Проголосовать: нравится +4 Проголосовать: не нравится

    Thank you so much for your comment and for helping explain my situation. I really appreciate it.

    Yes, exactly as you said: my first submission for A got Wrong Answer because I returned early without reading all the input. After that WA, I moved on to B. After finishing B, while I was checking whether the arrays needed to be cleared for multiple test cases, I suddenly realized the mistake in A. I went back, fixed it quickly, and submitted again. That is why my A and B submissions were so close in time.

    387403545 is my first WA submission for problem A. Comparing it with my second (accepted) submission 387415443 for A shows that the difference is only a minor fix. This clearly accounts for the short time gap between my A and B submissions — after completing B, I noticed the error in A, corrected it immediately, and submitted both A and B in quick succession.

»
5 недель назад, скрыть # |
 
Проголосовать: нравится +10 Проголосовать: не нравится

I know this user; his performance is consistent with his ability, and his code is similar to his usual style, so I do not believe he has used AI.

Why is it that CF is sometimes unable to effectively detect cheaters, yet it skipped normal users?

»
5 недель назад, скрыть # |
Rev. 2  
Проголосовать: нравится -55 Проголосовать: не нравится

I’m facing a similar issue.

»
4 недели назад, скрыть # |
 
Проголосовать: нравится +68 Проголосовать: не нравится

One final note for history:

This was never about AI-generated code. That claim was not made by anyone but you, and it is not what was detected.

What was detected is that the account pangharry was used as a debugging pad for this account: the failed attempts happen there, the clean accepted solution appears here seconds later. Problem 2257D - Бермудский прямоугольник of this very round:

  • 18:36:29  pangharry  387441420 — compilation error
  • 18:37:21  pangharry  387441777 — fails test 2
  • 18:45:21  pangharry  387445169 — compilation error
  • 18:45:53  pangharry  387445450 — fails test 2
  • 18:57:29  pangharry  387450164 — fails test 2
  • 19:00:34  pangharry  387451315 — fails test 2
  • 19:05:51  pangharry  387453205 — passes
  • 19:06:10  you  387453315 — passes, 19 seconds later, your only submission on D

Half an hour of debugging on one account, a first-try accepted solution on the other. This is not new. Codeforces Round 1046 (Div. 2), problem 2136C - Вопреки различиям: 335977182 (pangharry, after a compilation error and an MLE) and 335977594 (you, 29 seconds later, single submission). Order Capital Round 1 (Codeforces Round 1038, Div. 1 + Div. 2), problem 2122B - Перетасовка стопок: pangharry needed 14 failed attempts before 329850232, and 329850400 followed 19 seconds later.

Counting only this exact sequence — rejected attempts on that account, then an accepted solution there, then your accepted solution within minutes — it covers 21 problems across 11 rated rounds since July 2025, and in 14 of those 21 your accepted submission arrived within two minutes. The broader time coupling between the two accounts covers 33 problems in 21 rounds.

The larger file in each pair is the same program with macro names replaced and junk #define/#undef lines inserted. String literals, macro bodies, the order of macros and the body of main() are identical.

The effect is measurable. In the 61 rated rounds without that account you average 0.57 rejected attempts per solved problem; in the 21 rounds with it, 0.27. In this round you solved five problems with zero wrong submissions while the other account collected six on D alone.

Using a second account to absorb penalties and inflate this one is among the most serious violations there is, and doing it while asking for a manual review does not help your case. The decision stands and this is not open for further review.