Author of the problem 2031C - Пенчик и булочки барбекю here, hope you enjoyed the contest yesterday (Almost exactly 24 hours ago...)!
Looking at the votes on the editorial, it's obvious that it's a very polarizing problem: an hour or so after the contest, the problem had roughly equal numbers of "likes" and "dislikes", and now (as of writing) there are around 320 likes to 200 dislikes. Of course, this is completely predictable: the opinions on this problem were quite polarized for a few reasons:
- Troll and WA trap: it's very easy to fall into the trap of thinking that there is no solution for all odd $$$n$$$; thus, over 12,900 (!) WA on pretest 2 solutions were received, as compared to only 4,700ish Accepted solutions. This ratio seems a bit extreme for a problem C; in the previous Div.2's problem C (2028C - Приключения Алисы в нарезании торта), there were 3,500ish Rejected solutions to 2,500ish Accepted ones.
- The construction: hard-coding the case $$$n=27$$$ seems weird and mundane, and with such a "big" base case, it may be annoying (and ugly) to figure out. Some testers said they were "disappointed" by the solution.
- In general, constructive math problems are going to attract two-sided opinions: people who solve it would love it and find it cute, people who don't solve it would be upset. This is especially true for a problem C, as most people can solve A, B and few people can solve E, F, and thus C and D are the biggest "choke points".
With these negative opinions, including during testing, why was this problem still adopted?
- There was no compelling reason to do so; a good number of testers liked it, and in general it received decent reviews across the community.
- There was no good alternative problem, especially as the problemset had already been changed once (see the editorial).
- I think a round with only conventional problems would be boring, and had always enjoyed constructive problems, and of course would love to share the problem with every one of you!
This problem reminds me of another "troll", controversial C: IMO 2024 C4, adopted as Problem 5 on the contest, otherwise known as the infamous Turbo problem. Without spoiling too much, there are some funny similarities:
- Both are constructives; the IMO problem could quite reasonably be translated to a ~2500 rated interactive problem on Codeforces.
- Both have quite unexpected solutions that many people do not expect, which contributes to its troll-ness. Once again, no spoiling the solution here!
- Both were proposed by a Hongkonger!
- Both received very polarized opinions. During the IMO, many participants, especially from stronger teams, resented it; many relatively strong teams scored poorly on it compared to a typical problem 5. I remember reading on AOPS all the negative comments regarding this problem; this is to be expected, given that some people may have trained for an entire year, risen above their peers, only to be hit with such a problem 5 and lose out on a good score and a medal?
But this is a core part of the competition process; you're gonna get trolled.
What makes the comparison between the two problems even funnier is that they are "opposites" in some way:
- The IMO problem was tricky in that its solution was simpler than expected, while this problem was more complicated than expected, with the $$$n\ge 27$$$ case coming as a "surprise";
- On the IMO, teams from stronger countries tended to hate the problem more, while here on Codeforces, our C seems more popular among the unrated contestants than the rated ones.
During problemsetting, I immediately associated this problem with Turbo, and felt that this would be an immensely fun and funny problem; this is the biggest reason for keeping it. And I hope you all had fun being trolled!
Some challenges?
A comment yesterday triggered my thoughts on variants of the problem. One of which is as follows.
Squares except 1
If $$$1$$$ is not allowed as a valid distance, what would the constructions be? For which $$$n$$$ is the problem no longer possible?
Minimum number of flavors needed
In the original problem, we did not limit the number of flavors. What if we want to minimize the number of flavors $$$F(n)$$$ chosen? Specifically, how well can we bound the growth of $$$F(n)$$$?
We introduce the shorthand $$$C_x(k)$$$ to mean the construction for the case $$$n=k$$$ using the method in level $$$x$$$, with $$$x=0$$$ being the base level (i.e. the original solution). The trivial estimate is $$$F(n)\le \frac{n}{2}$$$, based on our existing solutions.
Think about the problem for a bit!
Once again, hope you enjoyed our contest yesterday!