So unrated participation was implemented to Codeforces a while back and we already had several edu rounds with this feature. But why is this not implemented into other (normal) rounds? Is it going to be, or will it forever be limited to edu rounds? (I believe it is also available in Div. 3 and Div. 4, but this not the point of this blog anymore)
I just find the "I read problem A and then decided whatever to participate or not" system really stupid. Although I don't have much experience with Div 1, I believe this system specifically effects Div 1 a lot and the "choose to register rated or unrated" system would make the rounds much more fair.
One might find these points obvious, but I haven't seen anyone talk about them so I thought I'd write a blog about it. I would also like to note that this blog has nothing to do with today's edu round. I just felt like writing about it now.
Update: from Mindeveloped's comment, it seems that one can register as rated (in a round which the unrated option is available), not submit anything, and his/her rating wouldn't get updated. This seems very odd to me. Why doesn't Codeforces manage these options like atcoder?








Unrated Participation is supported in Div. 3 rounds as well
The "I read problem A and then decided whatever to participate or not" system has nothing to do with "choose to register rated or unrated". One can still decide to not participate (and save his/her rating) because A is hard even if he registers as rated participant.
I have nothing against your points. Probably change your title accordingly for more views.
This seems odd. Is there any reason to not manage rated and unrated like atcoder? more specifically:
This is original behaviour of cf
Doesnt mean it makes sense
I know more than one user who have tried to use this rule of not submitting in "unfair" ways.
For example, brick div1 A -> skip contest (yes it has happened to IGMs), or solve combined EF -> enter contest.
This is unfair towards who exactly?
I consider it unfair to all rated participants (whom you would have ranked higher than) because you are artifically lowering their rating.
You might disagree saying that is within the rules, so it is fair. Here is where it is a matter of opinions and why i wrote "unfair" in quotes. IMO this is totally not within the spirit of the game even if it follows the rules.
Okay, I have a different opinion but I respect yours.
Although it's not clear to me that, say, skipping the contest because of hard A is necessarily lowering someone's rating. This doesn't tell anything about the other problems, or about my relative performance vs others' under these conditions. For example, maybe I hate contests with hard first problem and prefer to skip them, but if I were to write them, it wouldn't affect me as negatively as the other participants
I don't think you really understood the issue.
Yes indeed, there are some ways in which such strategies might be used to skip contests you dislike as opposed to contests that are more likely to lose you rating (they have a large correlation though :) )
However, the majority of people use it to preserve their rating.
For example, if i go into a contest thinking i'll try 1D/1E and only then enter the contest when I have solved it (or not enter if i take too long/don't solve), I am very likely to gain rating because the extra problem helps a lot (even accounting for the additional penalty).
I know of at least two instances where such a strategy was successful (well one was nearly successful, unfortunately there were a lot of B hacks that the participant missed and as a result missed out)
But why would anyone use that? To artificially inflate their rating? Why? What's so important about rating to make the number bigger without it reflecting your average skill?
A fair amount of people (at low or high red level) wants more rating to feed their ego and flex around their friends, just the same reason why many people want more money.
should bring back this behavior, though I suggest the first time you open the problem statement then your Status (rated/unrated) will be locked in instead of when registering.
ofc this is also a weak point for "unsportsmanlike" behavior,
since you can share question with cheaters group.
You cannot do anything to cheater groups, unsportsmanlike exploitation of rules is completely different from breaking the rules. Many genuine highish rated coders here (including me) will attempt the former but not the latter.
The idea behind the system is not to ban "unsportsmanlike" behaviour, but to allow people to solve problems in contest even if they can't do it with full energy (e.g. have to leave halfway, or are not feeling well).
Yes I can see that. But I don't see any downside to ban "unsportsmanlike" behaviour. To me, it seems like a completely positive thing that is not being done.
Yeah, but what if it is a much more important contest, like ICPC, IOI or other official contests? When you meet problems halfway or simply encountered bad problems in these contests, you certainly can't choose to quit. The point of taking contests in Codeforces, (I think for most people) is to prepare for these important contests right?
Overall what I want to express is that doing this is just like placing a bet and withdrawing it after a while, and that putting the unfairness aside, this system is certainly not applied to most official contests and therefore shouldn't be applied to Codeforces as well. "Unsportsmanlike" is kinda just a softened version of "bad". (just my opinion)
I feel like the "I read problem A and then decided whether to participate or not" situation is a real issue.
Let's say 30–35k people registered for a contest, but only 19k actually participated because problem A was tricky / hard.
The people who managed to solve problem A and outperformed others get no benefit from it, since those who couldn't solve it simply chose not to participate at all.
I think being able to read problem A and decide if you want to participate or not is fine. Sometimes you think you're good to participate, you start solving and you realise that you really aren't feeling the needed energy, maybe you even have a solution for A quickly and decide "actually, this isn't for me today."
There have been plenty of times that I've decided not to participate after reading A for that specific reason. Usually, if I feel like participating, I would do it even if I solved A slowly (my contest submission times show this to be the case even though I've been out of competitive programming for a while).
However, you could do this before. Being able to register as unrated actually reduces the exact issue you're talking about. Before if it was "eeeh, I don't feel like I will do well today, but I'll read A and maybe decide if I should participate or not", now, in those cases it could become "eeeh, I don't feel like I will do well today, I'll just register as unrated and participate anyway without having to worry about rating."