SanguineChameleon's blog

By SanguineChameleon, 12 months ago, In English

1 minute before contest starts

Alright, this is it. The round is starting soon. I hope everything goes well!

9 minutes after contest starts

...What? Someone solved H already? Uh oh.

Okay, maybe they are just really good at XOR problems.

40 minutes after contest starts

Oh! An LGM solved it. Let's look at their submission...

// https://yukicoder.me/problems/no/2990

Oh. Oh no. Oh no no no no no.


Hi, so to me seems like a notorious coincidence.

I was the author of problem H, and unfortunately, it exactly coincides with No.2990 Interval XOR on yukicoder.

Just to be absolutely clear, I had the idea for H long before that:

  • I thought of problem H in January 2024.
  • The problem was proposed in February 2024.
  • The problem was approved in October 2024.
  • The problem on yukicoder was released in December 2024.

Here are some obligatory evidence screenshots:

Screenshot 1
Screenshot 2
Screenshot 3

That's why you see a lot of Japanese coders on the front page of the standings.

The standings of a rated contest. With prizes.


So yeah, it sucks that this happened. But to be honest, there's realistically nothing we could've done:

  • I had checked multiple times over the past few months to see if it had already appeared, since I was getting concerned that it might've already been posted somewhere. But I didn't find anything, and the Semantic Search hadn't logged the problem as of the time of writing this.

  • The statement is in Japanese, and it's practically impossible to find the problem if you don't search in Japanese or live in Japan. Now, you might say that we should've Googled in Japanese before the contest. But what if it wasn't a Japanese problem? What if it was a Polish problem? A Romanian problem? It's not feasible to try every language.

  • It took a whole year to get this round running. So much can change in a year. I was in high school when we proposed the contest, and now I'm in college! The fact someone else came up with a similar idea is just really unfortunate.


So what can we do now?

Make the round unrated? It seems like a reasonable option, but the fact that it isn't trivial to find suggests otherwise. And a very small percentage of people solved it anyway. Also, it's harder to determine who solved it legitimately than you might think.

Either way, sorry that this happened. I remember when I spent like 5 hours staying up all night trying to solve H, and I was very happy when I finally did. That's what I want everyone to experience on Codeforces: the joy of solving problems.

So I hope you enjoyed the rest of the problems. And if not, then sorry for that as well.

Good night, Codeforces!

  • Vote: I like it
  • +1133
  • Vote: I do not like it

| Write comment?
»
12 months ago, hide # |
 
Vote: I like it -60 Vote: I do not like it

I didn't enjoy the rest of the problems. :(

»
12 months ago, hide # |
 
Vote: I like it +33 Vote: I do not like it

Determining whether the contest should become unrated, based on the effort of the proposing team, is just flawed (and I'm sorry that it is unfair to you). This is like saying "all the authors had a wrong solution to problem X. It's fine though because we were certain that it was correct, so sorry if you attempted it at all".

It should be determined based on the final outcome, which is — some non-neglibile subset of people had knowledge of this precise problem (and not only that, but access to a working solution).

I say non-negligible because it affected not only many (if not all) of problem H's solvers, but also anybody who glanced at the dashboard during the last hour and wrongly affected their strategy.

  • »
    »
    12 months ago, hide # ^ |
     
    Vote: I like it +120 Vote: I do not like it

    The precedent in such cases is clearly set (see https://mirror.codeforces.com/blog/entry/112709)

    • »
      »
      »
      12 months ago, hide # ^ |
       
      Vote: I like it 0 Vote: I do not like it

      Let's go I might become expert today then love you <3. Also loved the problems c and d especially

    • »
      »
      »
      12 months ago, hide # ^ |
       
      Vote: I like it -14 Vote: I do not like it

      The difference is that in this case the problem was available on codeforces, so everybody on codeforces had an equal chance of solving it. Not only today's problem H exists on another online judge (giving an unfair advantage to people who also know and use this judge), but also the other judge is in Japanese, imposing a huge language barrier for the average codeforces user who does not speak Japanese (the average codeforces user speaks English or Russian, which are the the default language of the website). Even if I knew this problem existed in the Japanese online judge, I wouldn't be able to find it because of the language barrier).

    • »
      »
      »
      12 months ago, hide # ^ |
       
      Vote: I like it +13 Vote: I do not like it

      Very sad that I have to disagree with Mike. Just a set of dramatic words that seem to explain Mike's point of view, in a way as if whoever disagrees with him is not just in the wrong, but also rude and out of their mind.

      At least some comments there disagree with it as well.

      Whatever the precedent is, reading that post changes nothing about my point of view, the claims there are not convincing because we disagree on a basic notion — a round can be unrated even when everybody did their job well. The authors still get credit for problems in the archive, still get their money and their recognition. We only need to mitigate (or, ignore) anybody that channels this to insults and such that the authors do not deserve.

      By the way I couldn't tell what's your opinion on this based on your comment alone.

  • »
    »
    12 months ago, hide # ^ |
     
    Vote: I like it +54 Vote: I do not like it

    Not sure why this comment is being downvoted. I think it is totally correct that whether a round is unrated should not be related to the efforts of the authors. Of course, in this case the round should be rated because that is the precedent that has been established, but that is still unrelated to the efforts of the authors.

    Unrelatedly, I remember that in some rounds there was an option for people whose rank was affected to have an option to remove themselves from rating changes. I wonder if such an option will be available today, or if the precedent also means that this will not be available in cases like this. (Not that I want to do that, since I will gain rating lol)

    • »
      »
      »
      12 months ago, hide # ^ |
       
      Vote: I like it +15 Vote: I do not like it

      At no point did the authors bring up their effort as a possible justification for whether to unrate the contest, so him making that point like some kind of gotcha just feels weird and unnecessary to me.

      • »
        »
        »
        »
        12 months ago, hide # ^ |
         
        Vote: I like it 0 Vote: I do not like it

        The blog writer is literally the author of problem H, and most of the text in the post justifies keeping the contest rated because they were not able to find the problem despite their efforts.

        Read the paragraph starting with "So yeah, it sucks that this happened", which brings up the effort of the authors in a post that claims the contest should be rated.

        You also have this quote "Make the round unrated? It seems like a reasonable option, but the fact that it isn't trivial to find suggests otherwise", which I would like to know what stands behind this sentence (in your opinion), if not a statement claiming it should be rated because it was hard to find despite their efforts.


        I have no intention to attack the authors of the round. However, it is not an axiom that if everybody did their job well, then the round should be rated.

        And the precedent brought up by conqueror_of_tourist was saddening to see, because I disagree with it even though the great Mike wrote it. But I was happy to see highly upvoted disagreement in response to Mike.

        • »
          »
          »
          »
          »
          12 months ago, hide # ^ |
           
          Vote: I like it +8 Vote: I do not like it

          You are reading too much into it. That, or I am reading not enough into it ¯\_(ツ)_/¯

          The authors provided context and how they felt there was nothing they could have done to prevent the unfortunate coincidence. Then, they made their opinion about how unrating the contest might be an overreaction. So they mentioned fact A, then gave their opinion about situation B, doesn’t mean they were using fact A to justify their position on B. Or they did and I’m too ignorant to read through it. Either way, I try not to jump to conclusions.

          The quote was about how it was not trivial to find the problem from the contestants’ perspective, it was not about them or their effort to prepare the round. Again, could be just me and you arriving at different conclusions.

          It’s pretty clear that this conversation will just devolve to arguing semantics and interpretations, so let’s just agree to disagree.

          • »
            »
            »
            »
            »
            »
            12 months ago, hide # ^ |
             
            Vote: I like it -8 Vote: I do not like it

            Yeah makes sense we're reading differently into it. I should have probably sent it as a response to KAN's comment stating so.

  • »
    »
    12 months ago, hide # ^ |
     
    Vote: I like it +16 Vote: I do not like it

    I'd like to object one part of your comment.

    "wrongly affected their strategy"

    I'd say that anyone whose participation is affected by anything related to problem H is already a quite experienced participant. And all experienced participants kinda should already expect that if the hardest problem of the round is solved at nineth minute, this might mean that the problem is known, or at least known to some community (so known Chinese / Japanese archives). Therefore, I'd say that if one's strategy is wrongly affected, it's the participant who's doing something wrong. E.g. when I saw early OKs for problem H, my first motto was "maybe search this problem somewhere in the Internet", but then I analyzed the set of participants who solved it and realized that the problem is probably in some foreign (non-English) archive and I will just waste a lot of time trying to find its solution in vain, because of not knowing the necessary set of hieroglyphs. Then I just ignored it and participated quite well.

    I agree that you may have reasons to want the round to be unrated, but among the reasons there should not be one that "participants got some strange signals from the Standings table and misinterpreted them".

    • »
      »
      »
      12 months ago, hide # ^ |
       
      Vote: I like it -23 Vote: I do not like it

      Perhaps I'm late to this meta. I do consider myself an experienced participant, and yet when I see instances like this round during the contest, my conclusion is that the testers were not enough data on problem H to conclude that it is truly harder than problems F or G (to most other people), which is not an impossible situation and actually does also occur.

      Apart from my conclusion being reasonable based on prior data (but also not always correct), I keep jumping to this conclusion because taking the branch in which the problem is well known, seems like useless effort to me because in this case I expect the round to be unrated anyway.

      Regarding your last paragraph, you could be right, but I just think that people having their strategy wrongly affected, is not a reason to unrate a round but an indication that something went wrong, and the rating changes are less correlative to the actual level of the participants.

      • »
        »
        »
        »
        12 months ago, hide # ^ |
        Rev. 2  
        Vote: I like it +23 Vote: I do not like it

        because in this case I expect the round to be unrated anyway.

        can you give me even one example where this has happened?

        There have been lots and lots of coincidences but it has never happened caused unrated (to my knowledge at least)

        • »
          »
          »
          »
          »
          12 months ago, hide # ^ |
           
          Vote: I like it 0 Vote: I do not like it

          You are right in the sense that I am not sure if an instance exists, where a round had an unintended not original problem and it led to an unrated verdict. It definitely couldn't occur in the last ~2 years since Mike put out the aforementioned post.

          But it is not the correct way to view the strategy. The knowledge you have when you apply the strategy is not whether you know if the problem was intentionally copied or mistakenly (because you don't know in-contest), but just on the fact that you see an odd behaviour in the AC count of a harder problem, and thinking how does it affect the probability that the round will become unrated.

          So the question that should be asked is "given that the mid-contest dashboard had an odd AC distribution, what is the probability the round becomes unrated", and based on this probability, choose your action. With this in mind — among the rounds that had an odd dashboard distribution, there were certainly rounds that became unrated, and this correlation is greater than independent events.

          Please let me know if that was clear logic. All I'm saying is that it is a valid strategy.


          We can now argue whether the described probability means the strategy should be this way or another. And I don't even claim my strategy is optimal at all, I only claim that it is sound, thus it is affected by data that does not necessarily relate to skill / rating.

          However I see no point arguing about which strategy is better;

          1. It will become a subjective matter.
          2. While I appreciate that you challenge my message, the statement about whether my strategy makes more or less sense to you, is not the focus of my message and really, it just drives away from the main concept I want to convey in this dialogue — it is okay to unrate a round while appreciating the efforts of the authors, because the rating is supposed to express the approximate level of the participants (and not whether the authors "deserve it"), so unrating a round needs to be a function of whether the results truly showed the participants' skill.

          With that being said, if you want to point out something about my main message then go ahead. If you want to further discuss the optimality of the strategy then we can continue in private messages.

          • »
            »
            »
            »
            »
            »
            12 months ago, hide # ^ |
             
            Vote: I like it 0 Vote: I do not like it

            I did not comment on your strategy. Indeed it can be hard to judge whether a problem is just easy, or a problem is a copy.

            I only pointed out an inaccuracy in your argument.

            • »
              »
              »
              »
              »
              »
              »
              12 months ago, hide # ^ |
               
              Vote: I like it -7 Vote: I do not like it

              What? The sentence you have quoted is not an argument at all. So I really have no idea what you want, but if you have nothing meaningful to add, and want to just diverge from the main issue, then please don't bother.

»
12 months ago, hide # |
 
Vote: I like it +17 Vote: I do not like it

thank u for gigi shoutout in question f

»
12 months ago, hide # |
 
Vote: I like it 0 Vote: I do not like it

Will be unrated?

»
12 months ago, hide # |
Rev. 3  
Vote: I like it +26 Vote: I do not like it

Also, it's harder to determine who solved it legitimately than you might think.

Just wondering, did anyone solve this in-contest problem without accessing the Yukicoder submissions?

I took a brief glance at all the C++ submissions from the top 50 contestants, and I think cmk666 was the only one whose solution might not have been copied from Yukicoder.

»
12 months ago, hide # |
 
Vote: I like it +16 Vote: I do not like it

if we remove H then tourist would rank 1

»
12 months ago, hide # |
Rev. 2  
Vote: I like it +6 Vote: I do not like it

At least they should remove problem-H's submissions and retest whole contest and so they can give rating to everyone with fairness.

»
12 months ago, hide # |
 
Vote: I like it +110 Vote: I do not like it

The problem itself is brilliant, we appreciate your creativity and hard work on the problem.

»
12 months ago, hide # |
 
Vote: I like it +7 Vote: I do not like it

im hoping round doesnt become unrated.. the problems were good (I only solved 2 but o well)

»
12 months ago, hide # |
 
Vote: I like it -10 Vote: I do not like it

If it's still rated then why not exclude H and calculate the rating based on A-G?

  • »
    »
    12 months ago, hide # ^ |
     
    Vote: I like it +16 Vote: I do not like it

    That would be unfair to people who spent a lot of time on H, or went backwards.

    • »
      »
      »
      12 months ago, hide # ^ |
       
      Vote: I like it +10 Vote: I do not like it

      But if they don't remove H, it'll be even more unfair, since based on what I'm seeing in the comment section, only people who had solved it before were able to solve it.

»
12 months ago, hide # |
 
Vote: I like it +97 Vote: I do not like it

In fact, problem E was also identical to a task on HKOJ (Hong Kong Online Judge)

Image

The editorial from here gives an $$$O(N)$$$ solution for the task.

»
12 months ago, hide # |
 
Vote: I like it +10 Vote: I do not like it

I think we shouldn't make the entire thing unrated because the rest of the problems were fun and valid so no reason to remove them? Perhaps we could just remove H, would that be an option? Shouldn't change much to the ratings apart from the first couple contestants, since most people didn't solve H either way.

Otherwise we might as well just keep the whole thing since as you said the Yukicoder problem statement was only available to Japanese contestants and not that many people solved it, I think perhaps "good for them" is a valid option here.

Anyway thanks for your time, this was a fun couple of problems!

»
12 months ago, hide # |
 
Vote: I like it +20 Vote: I do not like it

I mean making it unrated is not fair either. Can't the problem H be considered null and void and rankings be calculated in accordance to it?

»
12 months ago, hide # |
 
Vote: I like it +144 Vote: I do not like it

Wanted to bring up this idea since it may get more traction here: if we remove H from the standings, but then also allow all contestants who ACd H the option to remove themselves from rating changes, I think this does a pretty good job at achieving a fair outcome:

  • Anyone whose rank was affected by people above them will have this effect removed.
  • People who spent time on H due to the solve statistics will still be affected in that way, but at least the outcome for them won't be worse than it is now.
  • People who solved H by copying have the option to receive no negative rating change from the contest.

I don't think this has been done in the past, but it seems like a pretty reasonable solution to me; I don't think it's worse in any way than the current approach of just leaving standings unchanged.

  • »
    »
    12 months ago, hide # ^ |
    Rev. 2  
    Vote: I like it -11 Vote: I do not like it

    After reading the other comments and Mike's post I think this is probably the best solution in terms of maintaining the value of the contest. However, I think there are two main obstacles with it: 1) Firstly and more importantly about implementation but there have been special cases or circumstances in past contest so it may be possible to do. 2) But secondly, the round has prizes and might be used by NeoWise for recruitment so then how should it be considered. Should the problems be manually checked for similarity to the YukiCoder solution, should all submissions be accepted? This question matters more I think because rating can be recovered but real world impacts like jobs or internships are not as easy to get. I know I didn't solve H so my opinion doesn't count as much but I still think the points should be considered, anyways thanks for reading.

»
12 months ago, hide # |
 
Vote: I like it +81 Vote: I do not like it

This has to be one of the problem author's worst nightmares, if not the worst one. I am incredibly sorry that it happened to you.

I did not participate in the round, so I guess I probably should not have much of a say on whether it shall be rated.

However, I would also like to remind everyone that if something bad happens in the round for you (as a participant) and you lose rating or get irritated, it is only temporary and you will be okay with it in a week or so. But if something like that happens to you as an author, it can still hurt you even after a year.

As for SanguineChameleon, I hope you manage to overcome this and continue to enjoy problem setting. Such stuff happens and it sucks, but do not let that or negative comments discourage you. You brought some awesome problems to us, and I am certain many people will enjoy them, despite 1 problem already appearing somewhere!

»
12 months ago, hide # |
 
Vote: I like it +85 Vote: I do not like it

I say leave it be. It's fine. If the problem wasn't in English anywhere, and it wasn't some kind of famous problem in Japan but only known because it recently appeared, then it's the same as if it was a secret problem for some hidden training — nobody can know without noticing too many early submissions. Those who solved the problem didn't find it, they knew it. The order of solving problems in a contest is:

  1. easy problems
  2. problems you've solved and remember <-- we are here
  3. harder problems that you're confident in being able to finish
  4. whatever fits your skills
  5. everything else

(Sometimes the list includes 6. geometry)

»
12 months ago, hide # |
 
Vote: I like it -19 Vote: I do not like it

as a dropped-to-expert participant, unr plz :(

»
12 months ago, hide # |
 
Vote: I like it -18 Vote: I do not like it

The statement is in Japanese, and it's practically impossible to find the problem if you don't search in Japanese or live in Japan. Now, you might say that we should've Googled in Japanese before the contest. But what if it wasn't a Japanese problem? What if it was a Polish problem? A Romanian problem? It's not feasible to try every language.

In fact, searching problems has nothing to do with the languages of statements. There is a website yuantiji(called 原题机 in Chinese, which means "The Machine to Find Coincidence Problems"). It can search coincidence problems ignoring the language differences, just focus on the math formulas. Also, since it is based on Vjudge, it can search among a large range of OJs.

  • »
    »
    12 months ago, hide # ^ |
     
    Vote: I like it +23 Vote: I do not like it

    but the post already mentioned that and clarified that the problem was not found on yuantiji at the time of contest (which I rechecked, it was indeed not found on yuantiji)

  • »
    »
    12 months ago, hide # ^ |
     
    Vote: I like it +23 Vote: I do not like it

    I got a similar problem of H weeks ago without solution. Someone told me the problem is classical so I have tried to find it with yuantiji. No result.

    Yuantiji couldn't find H, even after this problem been used in Codeforces. . Trying before saying

  • »
    »
    12 months ago, hide # ^ |
     
    Vote: I like it -21 Vote: I do not like it

    The problem is that the language problems can be easily solved through tools like AI-translators. Non-Japanese participants also found the original during the contest.

    PS: There are Japanese testers. So this is not a reasonable excuse.

    • »
      »
      »
      12 months ago, hide # ^ |
       
      Vote: I like it +5 Vote: I do not like it

      PS: There are Japanese testers. So this is not a reasonable excuse.

      What are you implying through this? I see a purple Japanese tester, do you really expect purples to look at H?

      Blaming any of the authors/testers is completely illogical

      • »
        »
        »
        »
        12 months ago, hide # ^ |
         
        Vote: I like it -26 Vote: I do not like it

        No one is blaming any of the authors/testers. They have taken so much work to the contest. It's not their fault.

        The thing is that, if you don't take enough effort to figure out whether there are originals or not, you have to take risks that there actually ARE.

        Not the first time that originals appeared in Codeforces rated contests, but the contests just remained rated. Preparers don't have to take risks that originals appear in the contest, so they continue to exist in rated contests.

        • »
          »
          »
          »
          »
          12 months ago, hide # ^ |
           
          Vote: I like it +14 Vote: I do not like it

          No one is blaming any of the authors/testers. They have taken so much work to the contest. It's not their fault.

          you say you are not but in the very next line....

          The thing is that, if you don't take enough effort to figure out whether there are originals or not, you have to take risks that there actually ARE.

          Make up your mind. Decide whether you want to claim that they did their jobs correctly or not.

          Preparers don't have to take risks that originals appear in the contest, so they continue to exist in rated contests.

          It is a very big blunder personally, and I can tell you no author wants it. Are you aware of some contests that do not have coincidences (or one in a million?)

          • »
            »
            »
            »
            »
            »
            12 months ago, hide # ^ |
             
            Vote: I like it -26 Vote: I do not like it

            It's not authors' fault, but neither should the roung be rated, because participants who didn't search for H lost their ratings.

            If authors don't want their rounds to be unrated, they have to find out whether there are originals. However if coincidence appears despite this, it's not their fault anyway.

            Now it happened unfortunately, so it's not the time to figure out whether the authors tried to find the originals or not, or whether this is a coincidence or not. As long as the round's rated, it is unfairness for an online CP round. Being rated or not has nothing to do with whoever should be blamed.

            Obviously, nobody should be blamed for that. The authors have paid a lot of efforts on the round.

            • »
              »
              »
              »
              »
              »
              »
              12 months ago, hide # ^ |
               
              Vote: I like it +6 Vote: I do not like it

              It's not authors' fault, but neither should the roung be rated, because participants who didn't search for H lost their ratings.

              It's not quite as simple of a calculation. For example I gained rating and could've perhaps gained more if I just bashed out F instead of spending over half an hour on H. Presumably it's more common to lose rating when wasting time on H than to do so well in a short time that wasting time will still result in a rating gain, so the basic principle would apply, but it's not unarguable.

»
12 months ago, hide # |
 
Vote: I like it +1 Vote: I do not like it

They may need to invite more testers from other countries.

»
12 months ago, hide # |
 
Vote: I like it +5 Vote: I do not like it

Then sir, why don't you just make submissions of H NULL

»
12 months ago, hide # |
Rev. 2  
Vote: I like it -57 Vote: I do not like it

I believe disqualifying the contestant who copied the code for problem H can ensure fairness, such as Eason_OIer. I don't think a Specialist (prior to this contest) contestant could solve this problem, especially outperforming tourist and rainboy. Even if he didn't copy code directly, the style of his H-submission strongly resembles AI-generated code with numerous English comments — something absent from his solutions for problems A and B. I suspect that he might have used AI to rewrite the code.Here is his code.316279760

Translate by DeepSeek.

  • »
    »
    12 months ago, hide # ^ |
     
    Vote: I like it +2 Vote: I do not like it

    I found the code that was plagiarised.

    • »
      »
      »
      12 months ago, hide # ^ |
      Rev. 2  
      Vote: I like it +1 Vote: I do not like it

      You are right bro, I'm sorry for that! But in Codeforces Contests,We've got this:

      Solutions and test generators can only use source code completely written by you, with the following two exceptions:

      • 1) the code was written and published/distributed before the start of the round,
      • 2) the code is generated using tools that were written and published/distributed before the start of the round.

      so I don't violate the rules. sry bro

      • »
        »
        »
        »
        12 months ago, hide # ^ |
         
        Vote: I like it 0 Vote: I do not like it

        Of course, during the competition it is forbidden to communicate with other participants, share ideas, solutions or hacks.

        Are you sure you found the original problem yourself?

      • »
        »
        »
        »
        12 months ago, hide # ^ |
        Rev. 2  
        Vote: I like it +15 Vote: I do not like it

        You wouldn't know that problem H coincided with an existing problem for another online judge if you didn't discuss with other people online during the contest.

        You still violate the rules. I agree to skip.

  • »
    »
    12 months ago, hide # ^ |
     
    Vote: I like it +4 Vote: I do not like it

    read the rules next time

»
12 months ago, hide # |
 
Vote: I like it -20 Vote: I do not like it

The cheaters are clearly not just 'a very small percentage'. Dozens of people just copied some code within minutes or just had already solved the exactly the same problem. Trying too ignore this number of cheaters is shame for a rated contest (consider the performance diff between rank 1 and rank 30 is almost 1000).

Of course, it's not the authors who should be sucked, but neither should participants be. The ability of searching for originals of problem testers of a RATED codeforces round at least, shouldn't be weaker than some random participants who are not even from Japan.

»
12 months ago, hide # |
 
Vote: I like it -7 Vote: I do not like it

You should have deleted H after 40 minutes.This might save the contest.