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:
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.
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.
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.
I think MikeMirzayanov can find out the person abusing coach mode .
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?
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)?
Some of my friends got AC on this problem yesterday, but they can't pass now.
As part of the jury of that year i can say the following:
14-max.in
(numbering is off by two due to samples being numbered independently by us)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.me/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...)
Would this not also imply that the checker has been replaced?
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.
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.
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...
amogus