And Codeforces Round 283 (Div. 1).
It wasn't very good round for hackers (especially because of strong pretests), but still — let's take a quick look. (Hacks description will be added later, maybe tomorrow?)
Previous posts can be found here, including div. 2.
Stats
Problem | Successful hacks | Unsuccessful hacks | Other | Sum | Solutions which can be hacked | Accepted solutions | All solutions on final tests | Hackers efficiency** |
---|---|---|---|---|---|---|---|---|
497A - Удаление столбцов | 54 (41.86%) | 55 (42.64%) | 20 (15.50%) | 129 | 112 (13.58%) | 713 (86.42%) | 825 | 32.53% |
497B - Игра в теннис | 24 (31.17%) | 23 (29.87%) | 30 (38.96%) | 77 | 50 (9.92%) | 454 (90.08%) | 504 | 32.43% |
497C - Распределение партий | 0 (0.00%) | 1 (100.00%) | 0 (0.00%) | 1 | 10 (4.08%) | 235 (95.92%) | 245 | 0.00% |
497D - Шестерни | 0 | 0 | 0 | 0 | 5 (38.46%) | 8 (61.54%) | 13 | 0.00% |
497E - Подпоследовательности возвращаются | 0 | 0 | 0 | 0 | 0 (0.00%) | 8 (100.00%) | 8 |
- one of the: INVALID_INPUT, GENERATOR_INCOMPILABLE, GENERATOR_CRASHED, IGNORED, OTHER.
** suggested by marat.snowbear and Yura_Sultonov — hacked solutions / (hacked solutions + solutions which failed on final tests).
Hacks and possible hacks description
497A - Удаление столбцов
497B - Игра в теннис
497C - Распределение партий
497D - Шестерни
497E - Подпоследовательности возвращаются
Wow, here won't be even the graph with tests, because every solution passed :)
Fastest hackers
Problem | Time | Hacker | Defender | Hack |
---|---|---|---|---|
497A - Удаление столбцов | 0:14:52 | VArtem | aa2985759 | 129826 |
497B - Игра в теннис | 1:05:44 | KOTEHOK | minthe | 129863 |
Because of lack of hacks overall, we listed below everybody with positive score ;)
Best hackers
Best rooms
Room | #hacks | Hackers |
---|---|---|
17 | 7 | lazyc97 [3], ngfam_kongu [3], MrDindows [1] |
21 | 7 | VArtem [6], qwerty787788 [1] |
3 | 5 | RomaWhite [4], seland [1] |
20 | 5 | Alex_2oo8 [5] |
23 | 5 | Copymaster [2], Laakeri [2], TMandzu [1] |
30 | 5 | Balajiganapathi [3], laoriu [1], erikgrabljevec5 [1] |
15 | 4 | kawatea [4] |
18 | 4 | mruxim [2], SirShokoladina [1], andrew.volchek [1] |
26 | 4 | KOTEHOK [3], ztxz16 [1] |
32 | 4 | kmjp [1], lovelymoon [1], kraskevich [1], eddy1021 [1] |
1 | 3 | PlayLikeNeverB4 [3] |
6 | 3 | Gassa [3] |
13 | 3 | kuangbin [3] |
4 | 2 | oversolver [1], cnjzxy [1] |
5 | 2 | Um_nik [2] |
8 | 2 | el_sanchez [2] |
27 | 2 | gskhirtladze [2] |
29 | 2 | BigBag [1], PERNEKHAN [1] |
33 | 2 | VeniVidiVici [2] |
10 | 1 | vilcheuski [1] |
11 | 1 | izban [1] |
12 | 1 | emachaidze [1] |
19 | 1 | Nero [1] |
22 | 1 | Seemann [1] |
24 | 1 | RamTararam [1] |
31 | 1 | vitux [1] |
Best countries
Country | #hacks | Hackers |
---|---|---|
Russia | 25 | VArtem [6], Gassa [3], KOTEHOK [3], Copymaster [2], Um_nik [2], el_sanchez [2], kraskevich [1], oversolver [1], izban [1], SirShokoladina [1], RamTararam [1], qwerty787788 [1], Seemann [1] |
Vietnam | 7 | lazyc97 [3], ngfam_kongu [3], laoriu [1] |
Ukraine | 7 | RomaWhite [4], BigBag [1], MrDindows [1], seland [1] |
China | 6 | kuangbin [3], ztxz16 [1], cnjzxy [1], Nero [1] |
Japan | 5 | kawatea [4], kmjp [1] |
Latvia | 5 | Alex_2oo8 [5] |
Georgia | 4 | gskhirtladze [2], TMandzu [1], emachaidze [1] |
India | 3 | Balajiganapathi [3] |
Belarus | 3 | vilcheuski [1], vitux [1], andrew.volchek [1] |
Romania | 3 | PlayLikeNeverB4 [3] |
Finland | 2 | Laakeri [2] |
Iran | 2 | mruxim [2] |
Slovenia | 1 | erikgrabljevec5 [1] |
Kazakhstan | 1 | PERNEKHAN [1] |
Hi! Nice stats, I had a similar idea about year ago but didn't come with an implementation.
There was actually a submit of Petr that failed on some of the early pretests.
Also, all your diagrams are showing only a prefix of a testset (actually only tests till the last one that failed some solution). It would be nice to show instead all testcases and indicate somehow the last testcase like showing the green bar indicating the number of OKs, or in the other words, to add "OK" to the list of verdicts.
The last modification I suggested is very useful for problemsetters because it visually shows if their testcases are strong enough or they are redundant. For example, for a testcase consisting of 80 random cases we'll see that all failed solution fail on first several tests and then successfully pass the rest of random stuff (of course I won't let such testset appear on a real contest :-) ).
Thanks for feedback!
Yeah I know, but I thought that won't be interesting at all — I may add it.
That is another thing I know, but it follows that my implementation of my script was lazy and changing this thing may be quite problematic — but still — thanks for suggestion I will add it (in new year probably).
Yeah, I know this pain — nearly everybody complains that I am using too many tests for my problems (I just want to be sure that the solution which passed is absolutely correct :)).
You know, the key thing I always tell to people is that there is no difference between 5 random tests of size 100000 and 80 random tests of size 100000. The property of a big random test is that almost always the probability of a solution to fail on it is eps or 1 - eps. That means that the solution is almost surely will fail on the first test, or won't ever fail even on thousand of such random tests.
Of course this is a subject of discussion in every specific case, but your diagrams can easily prove my words in common situation.
I like your reasoning, but there is always room for unexpected, like when chinese setters added testcases during contest against Jacob's solution for Div1 E, because they saw that it does not pass "about quarter" of testcases generated by one of their generators and there were not enough tests in initial testset to break the solution.