ShmilyTY's blog

By ShmilyTY, history, 18 months ago, In English

It's a serious blog.

This morning, I'm working on GYM104064. When I submited my solution, the verdict is WA on test 16. I had no idea if there's anything wrong in my code, so I checked the status detail.

On the test 16, the result shown as follow:

image.png

The checker comments: "output contains a duplicate Roman numeral". But as you can see, it is the Jury's answer that contains a duplicate Roman numeral. That's not my fault.

As there's some Accepted submission before, I rejudged some of them.

image.png

Every submission that had passed before failed on the test 16, same reason. I doubt someone abused the coach mode rights to modify the package of the problem I. I wondered how to redo his operation and fix the problem.

The purpose of the blog is not only ask for help, but also want to draw the community's attention on abusing the coach mode.

Thank you for reading.

  • Vote: I like it
  • +212
  • Vote: I do not like it

»
18 months ago, # |
  Vote: I like it +127 Vote: I do not like it

I've always felt coach mode is a bit too powerful. I'm honestly sometimes worried to accidentally delete / mess up something while using it. I think maybe coach mode should just allow you to access, and maybe rejudge, but not modify. That permission should be given on trusted one-on-one basis. Most people have no use editing the gym contests made by others.

»
18 months ago, # |
  Vote: I like it +70 Vote: I do not like it

I think MikeMirzayanov can find out the person abusing coach mode .

»
18 months ago, # |
  Vote: I like it +23 Vote: I do not like it

I don't think it's something related to coach mode, looks like it's a bug in the checker, but how could someone (possibly one of the contest authors) add new test that none of the package solutions pass?

»
18 months ago, # |
Rev. 2   Vote: I like it +18 Vote: I do not like it

According to my understanding, if the checker comment is FAIL it means the jury's output screwed up in some way. Is that possible that the model correct solution is wrong (and someone added a test that hacks the model correct solution)?

  • »
    »
    18 months ago, # ^ |
      Vote: I like it +8 Vote: I do not like it

    As there's some Accepted submission before, I rejudged some of them.

    Some of my friends got AC on this problem yesterday, but they can't pass now.

»
18 months ago, # |
Rev. 2   Vote: I like it +18 Vote: I do not like it

As part of the jury of that year i can say the following:

  • That is the original testcase 14-max.in (numbering is off by two due to samples being numbered independently by us)
  • The answer you print is correct and also what our reference solution printed

Thus I come to the conclusion that someone replaced the jury solution. Unfortunately I dont have coach access and can't reverse this but you probably can replace the jury solution by this: https://codeforces.com/gym/104064/submission/182111793 (its the reference solution we used during the nwerc)

(The original checker does not even verify the jury solution and only reads the first number from the jury solution...)

  • »
    »
    18 months ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    Would this not also imply that the checker has been replaced?

    • »
      »
      »
      18 months ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      I would guess that codeforces runs the checker against both submissions (jury and participant).

      Or there were already some changes made by niyaznigmatul when adding the problems. As far as I know polygon uses a different format than the icpc/kattis problem format which we used.

      But the reference solution must have been changed since the displayed output is not the one from our solution.

»
18 months ago, # |
  Vote: I like it +66 Vote: I do not like it

I've found an issue and fixed it.

There was an issue with the solution that I've chosen to generate correct answers. Seems that it had some undefined behavior that was very rare to make solution fail. So it worked well in the beginning, and at some run after it regenerated correct answers it failed, and produced wrong output.

I've chosen the solution mentioned by MZuenni above to generate the answers.

I think that I managed to rejudge all failing solutions.

  • »
    »
    18 months ago, # ^ |
    Rev. 2   Vote: I like it +3 Vote: I do not like it

    You are right. Seems like you used reinier.cpp which breaks if I compile it with -fsanitize=address.

    Just for the fun, the error is in line 45 where a vector is created with size 4 but it should have size 5...

»
18 months ago, # |
  Vote: I like it +11 Vote: I do not like it

amogus