Hello again @randomusername,
I was in a bit of a hurry when I wrote that answer and I couldn’t wrap it up properly. Fortunately, you brought it up again with the line: “(…)It’s a tough job and you pointed out some valid difficulties a team faces when creating a contest. Let’s leave that as it is for now(…)”
Maybe we shouldn’t leave that as it is and clear up some points.
First of all, most problem setters aren’t professionals, instead, they are simple ordinary people like you and me (I am studying CS, pursuing a Bachelor’s degree and I am currently on the 2nd year of a 3-year timespan), which have their own lives and their own affairs besides CC.
With this being said, I wouldn’t be surprised if you were a better programmer than I am (you probably are, because, as I’ve mentioned on earlier answers, this is the end of my first more serious year and a half learning with Codechef, and there are yet many, many topics I don’t know about, so, we are all here to learn, all the time, especially because 1 year and a half is nothing!! ), so, I guess writing problems/editorials has to be something one is really interested in, in order to do a good job.
However, as I said above, sometimes our own personal affairs, university, exams, etc, tend to be very overhelming and CC might fall back at times. It is something that ideally shouldn’t happen, but, the fact is, it does happen. That might be one of the reasons why some setters’ only check their e-mails when there are only 2/3 days left for the contest to start, which, obviously will reflect on the quality of the test cases and problem statement and puts additional pressure on the editorialist/testers’.
This isn’t something that we can fix, right? I hope people understand this. It’s not like we can SSH into the setters’ computer and leave him/her a message to check their e-mail because they are falling back on the problem preparation. It’s the inherent human factor that unbalances the equation that we can’t obviously fix (we could always discard the people which didn’t checked in after say, 1 day and replace them with someone else, but, that’s unfair on one hand and not very pratical on the other hand, as the “replacement” setter would be caught off-guard, in a sense.)
However, ironically, we have literally the best programmers’ in the world contributing for Codechef, which for sure helps in setting some great problems which can’t be found anywhere in the web, after all, which website can brag about having had @mugurelionut, @ACRush, @Anton_Lunyov, @Gennady.Korotchevic, @xiaodao, @Rubanenko, among many other amazing names setting problems? I bet no site can
So, as you can see, we have amazing setters’, somewhat competent testers and well, some poorer organization when it comes to writing editorials.
I guess that, if you agree with my idea of having the setter writing their own problem editorial, you might also agree with the point that some setters might be capable of setting a hard problem, but, might not be so capable of writing a decent editorial about it. (I really think that writing good texts takes a lot of effort and a lot of English proficiency + time, which, imho, is not something many people among the setters’ panel might have, at least, I don’t have any of those things if you ask me, which would make this task harder for some peole and might make them back off setting problems.)
On other hand, we might need to look into the problem structure versus problem difficulty versus contest duration.
When setters’ here mark a problem as being a HARD problem, it really means that the problem really is VERY HARD, right? (Which means that we are only having issues with all the remaining difficulty levels except with the HARD one, maybe simply because there are fewer harder problems and they really stand out from the rest)
However, maybe even the definition of HARD might need to be scaled down a bit, after all, if some coders here are learning Segment Trees for the first time, how is it expected that they will understand what a FFT is, how it relates with DFT, and what it is used for? We aren’t even talking about hard data-structures anymore, we are talking about concepts which are at the level of a Master’s Degree in Algorithms or maybe only PhD level in some countries (as in Portugal, for instance).
This, however, only comes into light of what was discussed earlier, and that both the concepts used and the difficulty levels need to be definitely re-thinked in order to have more balanced contests.(this is extremely notory on the Lunchtime contests, btw).
(Sidenote: I am yet to understand how to code a FFT in C++, and even understanding what it receives as input, and returns as output is somewhat tricky to me, and well, I guess I can’t call myself a newbie anymore.)
So, what can be done was already discussed above in general guidelines, we might need to wait for some admin reply on this.
Best,
Bruno