Disclaimer: this post contains my thoughts and suggestions. Feel free to discuss the topics in the comments
[TL;DR] Cool problems, issues, why not semi-rated.
First of all, I'd like to congratulate Um_nik for making the simultanously best and worst round I've seen in a while :) On a more serious note, I've really enjoyed solving your problems, in contrary to some yet-another-segment-tree-problems. Especially B was quite unusual when it comes to CF.
However, there are some issues brought up by geniucos here which I completely agree with. Memory limit issues are really rare, and you usually realize that when you get MLE1 after submitting. Unfortunately, it was not possible today, so some participants were affected quite much (hello Swistakk.
Moreover, it wasn't only a case of MLE. "Incorrectly" solved problem B required using random generators. And now the standard CF feature — RAND_MAX is 32767. I've tested my solution locally and was quite shocked to see WA10 after the long queue ended. Looking at my submission: oh, RAND_MAX. Let's fix it. Wait. The round has ended 3 hours ago =) Of course you can say this should fail. But the problem is that such solutions passed. Look at 38734837 or 38747568. Especially no tests with N = 1000 and answer Um_nik — seem quite weak.
And well... the queue. 30 mins is in no circumstances a "very end of the contest". Even in an OI-style contest it's quite a lot of time. Of course, participants who didn't submit anything during this time were not affected at all. Usually submits during this time belong to most important problems — or at least the hardest we could solve. So it is imho the most important period of time. Some participants passed systests without any problems, some got FST and some got errors on pretest1. My C submission fortunately passed pretests with 3950ms (with TL = 4 seconds). Of course, everyone would realize his implementation is not efficient enough after getting such verdict.
Now, the most important part. There were some other options used in the past other than binary rated. If semi-rated didn't sound like a good idea, then maybe you could at least allow participants who were severly affected by the long queue to be excluded from the official ranklist, just like cheaters are (but no bans please)? I'd be very grateful an for official response. Attention tag. KAN.
My apologies for everyone who had to read this boring wall of text. Cheers :D
I answered something about ML and other things. And I did it in assumption that people are negative towards my choice of ML or TL. But now I think that it is wrong for most complaints (if you really complaining about TL/ML, my answer stays the same — your solution was not good enough for this problem, deal with it). It cannot be considered apart from queue issue. Because you mostly complain not about getting ML, but about being not able to fix it. And I agree that it was really bad on our side.
About rated/unrated: it's too hard for me. I just thought: the situation is bad, and for any our choice there will be tons of dissatisfied participants. So it is not really important what I choose. Maybe I was wrong. I don't know.
I should be happy about you liking my problems. But I'm really sad for what happened on my round. Thanks for your words anyway.
Why does it matter how many participants are satisfied or dissatisfied? What should matter is: what is the right decision?
Except the issues mentioned above there was also a problem with A for java. The queue problem mitigation had the opposite effect (queue did not disappear and participants not affected got more time to solve other problems). There was also an issue with hacks — the page was not responsive to let me see any code and try to hack it.
Given all these issues I do not see the reason to make this round rated. Besides an explanation is ridiculous — it basically means that only first 105 minutes of the contest count and the rest is optional :)
Ah, it is so easy: just do what is right and everyone will be happy. I don't know what is right. Do you?
Not everyone will be happy but in this case it is very easy to figure out what is right — you even mentioned this in your announcement.
"Of course, everyone would realize his implementation is not efficient enough after getting such verdict." — Not everyone. There is usually a max-test in the pretests, so I often don't touch such a submission and hope for small fluctuations of running time on the systests. I don't remember getting TLE in such a situation.
"I've tested my solution locally and was quite shocked to see WA10 after the long queue ended." — Your solution fails like every fourth test with n = 1000, so you shouldn't really be shocked by WA. How did you test that?
Let's remember that arguably bad constraints shouldn't be a strong reason for making a round unrated. Only the big queue was — and maybe it's a more important reason because of tight limits for some solutions, but it shouldn't be a direct reason.
And I don't have a strong opinion on the semi-rated thing.
First of all, I am not saying that everything is all right (In particular, I support the opinion that the last round should be unrated.)
But about "the most important part":
This is ridiculous. How do you want to check if someone was severely affected by the long queue? Even if we can assume that you could do so, we can either leave ranking changes as they are, or recalculate them again. In the first case, we will have the round mostly with positive rating changes. Several such rounds will cause inflation and the whole carefully designed ranking system will explode. In the second case, nearly everyone will be harmed, because probably only people with the bad outcome will try to choose this exclusion option.
Everybody who had the solution in the queue after the problem appeared (I guess it could be determined easily) has the option: rated or unrated. Everybody who respond unrated is removed from the list and the rating is recalculated on what is left.
No problem with this approach in my opinion.
You're giving an option of an unrated round for 2/3 of participants. Do you see nothing wrong in that?
Nothing. The whole round should be unrated and if such a big number of participants were affected, it is another argument for it.
If we want to make this round rated, it would be fair for those unaffected, others should have a choice if they want to participate in this or not.
Really nothing?
"The whole round should be unrated and if such a big number of participants were affected" — it's a number of participants that had a solution in the queue, not the "affected" participants. You proposed these two to be the same, what isn't true. We have no idea who and how much was affected.
Giving a choice to 2/3 of participants makes it unfair to those 1/3 because the compete against those in the 2/3 that did well.
Everyone who did not get the result (of pretests run) within a reasonable time, should be considered affected. Everybody who did not get the result until the end of the contest was affected.
Besides hacks and custom invocation were affected too.
Just a historical note: Such things happened on TopCoder where some "harmed participants" were not included in final standings. But I am also not a fan of such solution, even if I may be the most harmed person.
It's on a very small scale.
I assumed there are just a few participants who deserved much more points than they actually got. In this case setting some unrated participants shouldn't hurt the whole rating system.
Let's say a person is allowed to kindly ask for personally unrated if he has a submit that fails on pretest1. Or some other reasonable reason :)
@esit: it seems I can't directly reply to kostka comment, idk why
You replied directly to his comment...
I guess people were not mad how this round still got rated but actually how you guy worked with the queue.
10 extra minutes for fixing the issue but you guy did not complete it in time. At that time, the only reason to stop giving more extra time is because people could have more time solving the problem, which is UNFAIR. Then, what could be fair for those in queue submissions which is also in queue after contest.
You guy had an announcement and it seemed stupid to me. KAN said "There are plenty of rounds and the rating always goes up and down", then why this round must be rated with all these down votes?
Also, this comment is also a nice question. It has been there for 6 hours and you guy should at least give it an answer.
Leaving an announcement with hundreds of down votes and avoiding answering this kind of question made people feel ignored (Or that's actually how I felt).