Good evening, codefroces!
I'd like to spread this topic (for a while it was only in russian), to engage more users to this problem.
Well, i'm quite lying, not so much good in this evening. Why? I think, you already know the main idea. Yea, it's another round from GreenGrape!
It all started on a carefree Sunday morning. Nothing signs a trouble for me. In a long waiting of evening rated contest I was watching past 'The International' matches (Winstrike versus IG to be more precise), when i had got a PM message: "Hey, today is a GreenGrape round!". With trembling hands i typed codeforces.com in the address bar, and saw Codeforces Round 505 (rated, Div. 1 + Div. 2, based on VK Cup 2018 Final) announcement. Yeah, exactly he is. With a spoiled mood and not so enthusiastically you're still waiting for a contest, which will bring you only more pain and another portion of disappointment...
Let's finish with a lyrical part, and start more constructive analysis. At the beginning i'd like to say, that i have nothing against him personally. Yes, there will be a lot of subjectivity, but I would not write if it was only my opinion. So, less words, more action.
I'd like to analyze 3 different contests from GreenGrape. They will show up in a chronological order.
What do we see at the first look... A lot of hacks in top (yea, hackforces there we are), a 912C - Perun, Ult! was succesfully submited by 13 people (need to add that the 912E - Prime Gift also got AC only by 13 users), in fact it's just a implementation. Everyone would think: "Geez bruv, so damn good that i missed this contest". I, unfortunatelly, participated. And I'd like to say it wasn't the best time in my life (maybe better to say a waste of time). Well, shit happens, but that day we cannot realize what so we see later...
Not everyone had time to move away from the pain shock, as our favorite problemsetter decided to give another BOMB! Let's take a look at the contest results, and here.. Oh, people have smth like 25 hacks. Attractive tasks, you would say. Implementation, brute force, brute force and greedy, say I. After that, my circle of friends began to doubt the abilities of Andrew as a problemsetter, but he wouldn't stop!
Codeforces Round 505 (rated, Div. 1 + Div. 2, based on VK Cup 2018 Final)
Exactly this contest became a final impulse to write this blog. The contest is just over, so i think you have no time to move away from a burning chair (or whatever you're sitting on). I just want to add that during the writing of this blog, the announcement of this contest has already received about 200 dislikes, which indicates the agreement with me of out community, so I'll just leave it here.
In conclusion I'd like to say that GreenGrape is a person, with no abilities in problemsetting (direct quote). Not the most enjoyable tasks (it was the second time when i stop participation in contest during it) in couple with a shitty pretests (tests, as i think, too, 'cause we don't need it when we have hacks!) turns it into a real hell. This is an absolute disrespect to the people for whom these rounds are prepared, because he managed to spoil the round on the tasks of VK CUP! I have a lot of emotions and wishes, but I hope everyone will find in this blog an echo of his inner voice.
Auto comment: topic has been translated by DoomzGay (original revision, translated revision, compare)
Ban greengrape from the codeforces community or atleast from making further contests.
HAHAHA — I think you should be the one banned though. (Cuz your shltposts aren't even funny)
I posted this on the blog post of the round and I'll post it again here.
If you knew that the pretests were going to be weak because of the author or whatever, why didn't you just take the extra 5-10 minutes to do local testing/try to prove your solution is correct?
and what if you didn't know
boom gotem
If you don't know, then it's unfortunate, but getting railed by system tests is kind of the norm here, so taking those extra few minutes to double check your stuff regardless is probably a good idea (even if it's during the last 10 minutes of a contest when you are fairly sure you can't finish another problem).
it's not the norm or people wouldn't be complaining about weak pretests
'cause other participants will not take extra time to check their solutions. So they'll be faster
If you'll always know that pretests are weak (like a TopCoder), you'll check your solutions carefully. Codeforces isn't this one.
If other people don't check their solutions, there's a higher chance they'll fail system tests as well. It's a trade off, and it depends on how risk averse you are. That said, you can actually use empirical evidence (i.e. your past contests) to figure out the rate at which you fail system tests for a given problem (A, B, C, whatever) and use that probability to determine a good length of time for you to devote to local testing.
Say you fail Div 2 B on system tests in 5% of your contests. Then, if in the next contest you are submitting Div 2 B for p points. Your actual expected point value is 0.95p + 0.05·0 = 0.95p, with high variance of course, since you're either getting p or 0. If you want to lower that variance, you can local test/do a proof of correctness for your code until the problem is worth 0.95p and submit any time before that, and that'll lower the variance significantly. Again, depends on how risk averse you are.
That's not the only issue though. It is more likely that some bad solution can pass while others won't because weak pretest.
Doesn't that depend on the strength of the system tests, rather than the strength of the pretests?
That's true, but if participants don't actively hack well enough it could lead to overall weak tests and case where test have to be added after contest before they put in problemset. I think walnutwaldo20 found a case like this contest, which means many people who "solved" the problem actually just got away with incorrect solution.
self-deleted
This has gone too far.
You are getting upvotes because people are disappointed that their solutions did not pass.
But truth to be told, you are not actually making a strong case here. Most of the comments you are making on GreenGrape's past contests are of little substance and boil down to "that contest sucked ballz". The role of hacks and pretests is a subject of debate and I won't comment on that here, but literally nothing you've said can justify "GreenGrape is a person, with no abilities in problemsetting". Especially if most of your complaints are not related to actual problem quality.
It is okay if you didn't like the contest, but seriously, stop with the personal attacks.
I bet you wont have written this comment if your ABCD had not passed in one go. And he is getting upvotes because he made a valid fucking point. Why have pretests then if it all boils down to manually debugging. So why dont you just shut the fuck up and let people decide what is right or not.
Do you know why my ABCD passed in one go? Because I actually bothered to double check and think things through instead of submitting half-arsed crap.
And yes, I would have posted this comment even if all my submissions failed 10 times on pretests and then systests as well. Because I'm not even talking about the weak pretests right now. I'm responding to a personal attack that made more serious accusations than just "weak pretests suck".
Sorry but i dont think he went personal at all. All he said is that greengrape contests are not worth the time and effort of the codeforces community. I don't see anything wrong in it. If he is supporting his arguments with facts and pictures then what's wrong ?
How is that not personal? In my opinion that is horribly offensive. And no, he didn't really support his arguments with facts. Most of the blog just describes how he felt during some past contests.
Pretests are there to check whether the code works for the most basic of tests. Nowhere does it state that they have to include corner cases. Writing a solution that successfully takes the special cases into account lies with the contestant.
Please, show off your toxicity in DOTA chat, not here.
You should have just ignored his problems and done the VK Cup ones.
No disrespect to you , but not everyone is interested in solving problems unless there is a rating factor involved in it.
If he's only interested in rating then why did he give up during the contest?
I personally do not see the point of someone being flamed if you don't like his problem set, or if the problem set actually is bad (by some metrics, and there is no metric all of us can agree upon). In my honest opinion, the problemset wasn't bad at all, pretests were weaker but hey, why is that such a big problem?) but that's not the point here. He, or any problem setter on any competitive programming platform, takes some of his personal time to actually prepare the tasks, tests, and everything that goes with that, trying to actually contribute to the community. There surely are better and worse problems setters, but hey, not all the contestants are LGM too. Everyone can like or dislike the round, but I see no point in talking bad things about someone's contest like you are being forced to participate in one.
I can't believe it how can you be so stupid and mean to write something like this, Do you think the contests are one man preparation??? a lot of people take part in making the round, the problems authors, Codefoces coordinators, testers ... How can you blame just one man !!! You don't know the kind of effort people do to prepare you rounds, and you just come and say this kind of stuff !!!
Now I know the pretests today were bad, and I complained about it too, but all the tasks were interesting, and I really enjoyed them, thank you GreenGrape and for everyone who worked with you, I hope to see more contests from you with better pretests.
What a shitty thing to post.
Freedom of speech and expression. Ever heard of it ?
Being a dick. Ever heard of it ?
Who the fuck is getting personal now nigga ?
I'll restate what joomas said because it seems it didn't get through your thicc skull.
"Freedom of speech and expression" is not an excuse to be an asshole, so don't go around shit talking (and then denying responsibility) and then expecting people to respect you or your opinions.
Although if you had any respect for others, or respect for yourself even (because honestly your posts are cringey and embarrassing AF) you wouldn't post these things in the first place.
While I do dislike a few things that GreenGrape's contest problems have in common (extremely tight constraints, weak pretests), there are quite a few other points to like about his problem-setting as well (clear statements and uniqueness of problems). I believe a blog that ends on a personal attack is uncalled for, And to whoever's resorting to abuse in the comments, cf is a sane and respectful community, please keep it that way. Peace :)
Ok, so it looks like you are indirectly referring to me as the guy who abuses in comments. Let me make some things clear, i dont abuse unless i have been triggered hard by absolute dumbfuckery in rated contests and if i am using expletives, then it is worth to use them. After all expletives are invented for a reason, you know. If not to use them, what is the point of these words to even exist ?
I don't want to fall into debate of this nature, but just as a counterargument, people invented means of drug consumption for getting intoxicated. Does it justify their consumption? Also, there are a lot of platforms where indulging in derogatory behaviour is fine, codeforces is not one of them.
Not justifying the outcome of today's contest, but it's not possible to understand the amount of effort that goes into making contests unless you've been a part of one. I believe you wouldn't have commented in the same manner had you gotten problemsetting experience.
Competitive programming is a sport, few bad contests doesn't have such big consequences that you should end up personally attacking and abusing the setter.
1) i see nothing wrong with getting intoxicated. It's their personal choice, you are nobody to "moral police" them.
2) Using expletives does not qualify as detrogatory behaviour.
3) I know the effort that goes, but aren't they getting PAID for that!! And if you are being paid something, it is expected to deliver something nice and NOT TO REPEAT PREVIOUS MISTAKES.
4) I haven't justified personal attacks anywhere.
Points 1,2,3 unrelated
And point 4 is complete bs, you don't even need to scroll up that much to see it: http://codeforces.me/blog/entry/61324?#comment-452854
And you seem to talk alot of shlt for someone who hasn't even done a single GreenGrape contest. You can't possibly have a complaint about something you haven't tried, can you?
And don't pretend to be "representing the community", because you are honestly a nuisance.