Привет, Codeforces.
За последнее время на сайте появилось несколько улучшений. Чуть позже я напишу заметку с перечислением нового. Здесь же я хочу рассказать о заметной новой функциональности, которая недавна была реализована kuviman-ом.
Иногда после окончания раунда в комментариях указывают на неполноту тестов и просят добавить тот или иной тест. Теперь этот процесс автоматизирован.
Встречайте, фазу довзламывания!
Теперь, после окончания почти любого соревнования у участников из Div.1 в течение недели возможность довзламывать любые решения в этом соревновании. Да-да, в том числе официальные решения с раундов. В случае удачного взлома:
- ваш тест будет автоматически добавлен в задачу и будет использован в будущем при тестировании этой задачи;
- если взломанное решение является дорешиванием, то его вердикт изменится на «решение взломано», иначе его вердикт останется без изменения;
- участник, чье решение взломали, получит уведомление об успешном взломе его решения;
- каждое решение может быть успешно взломано лишь единожды.
В целях добавления в задачу только адекватных тестов запрещается взламывать решения, которые осознанно подставились под взлом. Пожалуйста, строго следуйте этому правилу. Именно из-за возможности неадекватного поведения мы не можем открыть довзламывание для всех.
Надеюсь, что это нововведение окажется полезным и тесты к задачам станут еще лучше!
UPD: Наверное, позже мы продлим период довзламывания и уменьшим требования к рейтингу взломщиков.
What about some limit? You should be blocked for an hour after ten unsuccessful hacking attempts. There are some randomized solutions that will break after 1000 random tests. Otherwise, that's a nice feature. By "including official solutions from rounds" do you also mean author's solution?
Later we will introduce some limits if needed.
Here, official means contest solutions of official participants.
Let us have some fun. Publish authors' and testers' solutions too :>
You are also one of them xD
How would you hack an author's solution? Hacks run on their solution to determine expected output. If your solutions conflict, how will the system tell who is right?
What about the author's solution gets TL/RE instead of WA?
Or the problems need to output a plan which has multiple answers, the author's solution can't pass the checker.
You can even hack the validator or checker.
Uphacking works basically same as usual hacking during the contest.
We still assume that authors' solutions are correct, you would get system failure in case they are not.
well, it's still possible to show that author solutions disagree (or too show that output is certainly incorrect in case of "smart" checker)
Yes, if you get failed verdict, that's most likely this.
But I don't think there can be done anything automatically here, this would require authors to check, hence it is a failure
Uphacking can help with fixing the tests, not authors solutions, unfortunately :)
Well, if you'd show author solutions, it would help with authors solutions too :)
There are always a bunch of solutions made by authors and testers. It's enough to find a test for which some of them will disagree.
I agree with you that may lead to DOS attack if someone automated the test so limits will avoid DOS attacks
Не можем
"Именно из-за возможности неадекватного поведения мы можем открыть довзламывание для всех." Скорее всего вы имели в виду "не можем".
надо было эту картинку добавить
If a solution is hacked after rating change of a rated contest, will it affect the result of the contest? Like will the standings update or the rating change?
Thanks a lot for the great feature! I remember there were rounds that got pretty weak tests.
If a hacked solution is a practice (i.e. upsolving), then its verdict will change to “hacked” otherwise its verdict will remain unchanged;
Thanks! That rule make sense for me now :)
Hello MikeMirzayanov , There is a bug while we open a solution to hack, I am unable to read the complete message about uphacking ( if I try to scroll down then the hacking window also scrolls down). To reproduce the bug, open any solution and scroll down, the complete hacking window does not fit on screen.
Hello MikeMirzayanov , There is a bug,when we open a solution to hack, I am unable to read the complete message about uphacking ( if I try to scroll down then the hacking window also scrolls down). To reproduce the bug, open any solution and scroll down, the complete hacking window does not fit on screen.
UPD: Initially I was getting option to hack but now this option has been removed, I think it was a mistake !!
Will there be separate hackers ranking? (Similar to Contributors)
it would be a awesome thing if it separate ranking is built
There should've been a separate hackers' ranking even before.
halyavin will top that list.
should add hacking points on profile for incentive
But this will also give incentive to hacking solutions that were created by mistake, hence adding way too many tests to the problem and slowing down codeforces significantly. Better to leave it as is
There might be more features that should be available only for experienced users, so that would be great if we have some sort of "experience point" system. Users participated in enough contests and achieved enough rating (therefore increase their XP) will gain privileges to up-hacking, proposing a problem/contest, faster feedback, faster reporting of disrespect behaviours/cheating, etc...
What about constructing solution-specific countertests for randomised solutions with otherwise very low probability of failure? Should that be allowed?
after that does there a new counter for successful and unsuccessful hack in profiles (like contribution)?
Good quality update. Hope to see many more in the future.
I think implementing a check mark for intentionally mistaken solutions is good.
Someone will submit a wrong sollution and hack themselves.It't a problem.
Great, now I can't even practice without getting hacked
Now you can practice without considering your wrong solution as a correct one.
In case of a successful hack on an official rated solution, would the rating change for those whose solutions are hacked? Or, will the ratings updated only after a week when the uphacking phase is over?
You can either read the post carefully or read the comments.
Things are getting more complicated now....
...and more interesting too.
So what submission can people hack.
Why I see some codes in the contest can be hack while some can't.
because you are a gray account
I think you are wrong.
But here it is in the blog:
Seems like one can't hack submissions from virtual participation?
"participants from Div.1 have the opportunity to hack any solution in this contest during the week."
As of now, we can't hack everyone's solution but only div 1 participants, being precise then we can hack solution of participants who currently (after the contest) has rating greater 1900. Is it a bug or I misinterpreted it??
When is this feature possible?
Uphacked submissions in the standings should have another color. Now both failed and uphacked submissions are red. I suggest brown (as the color of what has passed system tests).
ping MikeMirzayanov
Surprised this wasn't mentioned when this post first appeared
This holds true even in virtual contests — 57403374 was an in-contest AC that when I resubmit in a virtual contest I get WA — 57458328. Why??? How is that a virtual experience of a contest? Please MikeMirzayanov just let us have i) option to test solutions against pretests only during a VC and ii) option to test solutions against just the system tests, without uphacks after VCs, so we can simulate the contest experience more realistically.
Judging just on pretests is more important.
What was that?
I agree ... ?
I just mean that we wait for years for the feature of judging only on pretests in VC, while behavior of uphacks in VC is far less important. (It doesn't mean that your proposal shouldn't be implemented.)
MikeMirzayanov, пожалуйста рассмотрите предложение моей собственной задачи, отправленной 24 дня назад. View please my own problem proposal, sended 24 days ago.
Uphacking has been a really nice feature to make tests even stronger for practice. Wouldn't it be better if hacking people outside your room was allowed in contest time, with no positive point for successful hack, maybe negative point for unsuccessful hack? Maybe total number of hacking attempt outside room can be limited per user.
I think this will strengthen the systests, specially for hard problems.
MikeMirzayanov I've noticed a bug with uphacking. Uphacked contest submissions don't show that they've been hacked if you are logged out, see for example https://codeforces.me/contest/1263/submission/65981072.
Also the following is just a small suggestion. I get that it is a feature that uphacked contest submissions still have status "accepted". The issue is that I've been uphacking a lot of submissions on yesterdays E, and now I have a hard time to go over those submissions that haven't been hacked (only way to check if a contest submission is uphacked is to open up the submission). Would it be possible to add something that distinguishes true contest AC and uphacked contest AC?
Could you extend the scope of UPHACK, maybe to 1600+. It's a really nice feature but few people could use it.
I am confused about rules of up-hacking and open hacking (in educational, Div.3 or Div.4 rounds).
In Codeforces Round 855 (Div. 3), I noticed that tests of successful hacking during open hacking phase weren't added to future tests (first and second submission), while tests of up-hacking were added (second and third submission).
Later in Codeforces Round 859 (Div. 4), I noticed that tests of up-hacking were not added this time (fourth and fifth submission), either.
So what is the difference between them? Is it because anyone (maybe the writer?) set constraints like "no new tests are allowed", or the hack behavior violated some rules (or probably something else)?