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

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

I’m going to share with you my story in today’s contest. After the system test and getting my A B C problems accepted, I was surprised of being removed from the standings board and having my problems skipped. Thanks to Mike Mirzayanov, I knew that there was a cheating incident on my profile, as my solution for problem A was identical to pashka921’s.

The 2 solutions are completely IDENTICAL and There is no probability that this situation happened by coincidence. FYI, his submission was before mine by 5 seconds exactly.

First, I’m going to prove that pashka921 is cheating:

  1. At every page of submission on his profile (http://codeforces.net/submissions/pashka921), there are some skipped problems, which means that it’s not the first time he cheated.

  2. In today’s contest, he made 2 submissions for problem A, with 2 TOTALLY DIFFERENT codes (he got a WA in the first one, and the second one was actually with my code and was accepted):

  1. By looking at other submissions that this person did, in codeforces round 367 div 2, between time 20:36:09 and time 20:40:13, he was able to make 2 submissions with two TOTALLY different codes, within a time interval of 4 minutes between both:
  1. These are not the ONLY weird cases found. You can check his profile, and you can spot them easily.

How was he able to submit my code?

During contests, I use the online editor www.ideone.com for coding. I just noticed after this incident that the code on ideone is made public by default, which is how this guy could have accessed my code. Those are the links for Problems A and C that I wrote during today’s contest: My problem C: http://ideone.com/ekrSy6 My problem A: http://ideone.com/qvPbwk

The code for problem A was available on ideone at 19:39:20 (You can open the source of the HTML page and search for “created” and spot the timestamp), so: Code was available on ideone at: 19:39:20 His submission at: 19:39:28 Mine at: 19:39:33

For my submission: http://ideone.com/qvPbwk, I am taking a screenshot of my browser to prove that I’m the OWNER of this code.

Notes: - Having the edit button means that I’m the owner of the code. - 19:39:20 is GMT+2

Just to sum up, this was my experience today. Please be careful whenever you use online IDEs during the contest, as your code may be exposed publicly.

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

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

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

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

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

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

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

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

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

»
8 лет назад, # |
  Проголосовать: нравится +164 Проголосовать: не нравится

You also cheated, because making your code publicly available online is basically sharing your code and is not allowed. You're not the first and probably not the last.

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

    Yeah you're right. This is definitely my fault.

    I didn't know that my code was made available, and I will take care of that in the future.

»
8 лет назад, # |
  Проголосовать: нравится +111 Проголосовать: не нравится

He saw your code, understood it was for problem A of today's round and submitted your code faster than you! scary :|

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

    This is scary actually. I'm going to add another clarification point that I didn't mention in the post to make things more reasonable. This is what I typically do on ideone:

    1. I write the code, copy the first test case and run
    2. Assuming that things went well (output is as expected), I press edit, copy test 2, re-run
    3. I repeat this process until I make sure all tests are working as expected

    There are a couple of things to note:

    • First, the code is uploaded and available on ideone at the time of my first submission. The time (19:39:20) that I mentioned in the post is the time of my last edit/run trial (every time you do edit/run, a new timestamp is recorded).
    • Second, testing my code against the sample tests takes some time (I guess approx. 1/2 to 1 minute with me, maybe less).

    Given these timings, a guy who is just refreshing ideone to steal/try other people's code may submit my code before I do.

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

Its better not to use online editor like ideone, its better to code in PC itself using some editor, similar incident happened in long contest of Codechef. Shame on these cheaters.

»
8 лет назад, # |
  Проголосовать: нравится +23 Проголосовать: не нравится

After forking and running code anyone can have edit button in their browser and that way you cannot prove who cheated! It happened with me in codechef long contest and I argued in same manner and found out once you by mistake publish your code public nothing can be done!

»
8 лет назад, # |
Rev. 2   Проголосовать: нравится +19 Проголосовать: не нравится

I just wanted to add that points like "he has cheated before" can't really lead to a legit proof. But at least you learned a lesson, gave some people advice and we know that you didn't intend to cheat :)