fbrunodr's blog

By fbrunodr, history, 12 months ago, In English

I did particularly bad in today’s contest (considering my goal of achieving Master). Then I took a look at the scoreboard and noticed a guy a bit above me didn’t pass problem B on system testing. I got curious and took a look at his submission for C:

https://mirror.codeforces.com/contest/2084/submission/314079938

Losing a bunch of rating because you did bad is frustrating, but nothing tops being behind the “cheater’s wall”. What exactly is the “cheater’s wall”? Suppose some LLM can solve A-D. Then all the cheaters are going to solve A-D super fast. For example, consider the edu contest just before this one. I solved A-E and got 97th place. Had I not passed E I would have placed close to 1000th, which is a huge difference in performance (basically around 1850 to around 2350). Also if you look at the scoreboard, a bunch of guys did A-D super fast (like 20 min) but were still unable to solve E in 1hr 40 min. To become master I must consistently beat this cheater’s wall. One bad contest and I get -100 delta for being behind it. I can’t even imagine how frustrating it must be for people below CM to be competing in 2025: you can improve a lot and see little rating improvement because the cheaters consistently beat you. Also the amount of new accounts cheating may cause rating deflation, as cheaters will start with 1500 hidden rating and perform like 1900. That said, what is even the point of doing codeforces if you are below CM nowadays. You can’t beat the cheaters wall so you might as well compete anywhere else, train on other sites, etc, instead of fighting a lost battle.

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

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

you are a ML-AI engineer, you are the cause of all of this.

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

    I am paying for my sins, I guess ;-;

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

      wow I just realized how long your name was. I thought that long Latin American names were just jokes, but that actually wouldn't make sense since there would be no truth behind it.

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

As a stable newbie I agree .

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

I’m starting to understand rainboy’s philosophy, just completely ignore ratings for a while and solve problems in reverse order. No human can beat an LLM at solving A–D in Div2, but if you have a chance to solve E, it's still rewarding.

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

    It would be better if score distribution reflected complexity both here and on atcoder. For example: in atcoder ABCs A+B+C combined cost more than G, but solving G is WAY harder than solving first 3 problems, even if you start from G. So if score distribution was closer to exponential than to linear then different strategies like "solving from hardest to easiest" could actually work.

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

    Exactly. The only reason why I haven’t given up is because I can solve E’s sometimes, so I am expected to reach master after a finite amount of rounds.

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

ya fr me 1800

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

This makes no sense. Not only can O3-mini-high solve E and harder problems consistently if you prompt it well enough, but even now it doesn't seem like the number of cheaters is high enough to stop you from getting to any specific rank.

Also, codeforces rating shouldn't be your end goal, but it does provide a nice way of comparing yourself to others who you know aren't cheating and through that determining if you are progressing.

o3, which is apparently 2700 rating on codeforces, will come out in the next few weeks and then your 1800 threshold might become 3000 instead.

Stop taking rating so seriously, stop caring about cheaters, and just try to get better relative to yourself.

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

    O3 mini high solving todays E is crazy, thanks for your input! Yeah, just getting to a certain rate shouldn’t be anyone’s end goal, but it is a good proxy for tracking how good you have become (or should be). Also regarding the number of cheaters, it seems to be growing rapidly in the past few months.

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

    Number of cheaters does seem to be quite high. I don't know maybe something else has drastically changed over the past year but a year ago it was enough to solve 3 problems (A, B, C) bo be placed ~2000 in div2 contest nowdays it seems like it would only place you to about 5-6K and that's not only my observation peole have been saying this.

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

    Can you share how that code was generated?

    As in, what were the prompts, what code did it generate before it made an AC submission etc.?

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

      Very minimal prompting. I basically gave it the statement, it came up with the O(n^3) solution and stated that it might be too slow. I submitted and got TLE on test 10. It tried optimizing the solution, but that didn't pass samples. I told it which sample it failed on, and it fixed it and then AC.

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

it was always pointless for people with <2400 rating

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

the game was never about the rating. rating is just the byproduct. a symbol of your effort and improvement and the work you put in. if you are consistently doing better than yourself, i think that is what makes all the difference

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

My resolution for keep trying:

  • I believe the amount of cheater is < 10% in overall contestant. So the chance of gaining rating by solve fast/more is still there. If the percentage I observe is too much, I might just quit (Just like I choose to quit games when I lost my joy or too much smurf/hackers)
  • Simply I like CP is what pushing me so far, but everything has it limits and the current situation is actually pushing it... But I'm coping atm.
»
12 months ago, hide # |
 
Vote: I like it +3 Vote: I do not like it

Well in today's contest, A-D were super easy, probably 1600 or less, while E is super hard, maybe 2300+, so it is not unreasonable for a large amount of people to solve ABCD super fast while struggling with E

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

Solving problems are not really about gaining rating or beating others, it is always about overcoming yourself and improving. Rating is just a number at the end of the day. I think it is more important to actually enjoy solving problems, then you will not even notice how you got to the top of the leaderboard.

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

ffs, enough with the doomer posts already.

Initially, this was my entire comment. But, by some reason unbeknownst to me, I wanted to write more.

"Codeforces is pointless to <1800"? "Rating is a good proxy for tracking how good you have become"? What? To me, something almost as mysterious as the reasons people cheat is how the entirety of codeforces seems to be convinced that rating is more than a little gimmick that Mike decided to add one day for fun/topcoder reasons. What does it mean to "become better"? We are all here, using our valuable time on this earth to solve funny algorithm problems with no use nor functionality, and as if that wasn't absurd enough, everyone just decided that we would care about weird internet points that somehow quantify our ability to solve these problems. Then, without missing a beat, everyone started worrying about what these numbers mean, how high their own numbers are, how much they fluctuate, how high other people's numbers are, and a myriad of other absurdities.

It. All. Means. Absolutely. Nothing.

At this point, I start to ask myself if codeforces would be better off simply abolishing the rating system. I do not understand how a standings table affects people's enjoyment of problems. I do not understand how a number makes people sad, happy, or disappointed. If you are here for any reason at all other than to have fun, let me break something to you: You are wasting what little time you have. "Sure, but cheaters take the fun away." How? I am honestly at my wit's end, trying to comprehend how your minds work. Maybe you should reconsider if you are here to solve problems or just to beat other people and see your name above others in a table. In which case, I can assure you, there are much better places than codeforces for such purposes, and you will not be missed here in the slightest.

If you are here for interviews, go to leetcode. There's a reason why it exists. It isn't the reason why codeforces exists.

Honestly, the cult around rating points and rating goals and rating colors and rankings and how many problems lead to how much rating and how to practice to gain rating and how to learn to practice to gain rating has become so widespread and popular that people seldom even question it anymore. People attach sentimental values to titles, they set goals for themselves to "reach x rating before y", they grind and work hard to achieve said goals, and nobody even stops to question it. Sure, it's fine if such things are viewed as a fun challenge, done to maybe spice things up a bit. But the current state of our community tells me otherwise.

Well, that's enough rambling for today. I hope I haven't alienated the entire userbase with a single comment (well, I doubt anyone will actually read this anyways), but I couldn't keep it in me anymore. Have fun.

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

    Simple: it's fun to compete to some people and you seem to not be wired that way.

    As for the rest, I think most people in here are practicing for OI or ICPC so I agree they shouldn't care about LLMs that much since in that environment it's way harder to cheat. There's still some room to care about it when thinking of stuff like atcoder finals but I think we're still far off from that being a real worry. At the moment it's a matter of getting better at solving problems so that you can be ahead of others much like always.

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

    what about icpc??

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

    If Codeforces were to display a message when you open the website, this should be the one.

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

    You're completely right. Why worry so much about rating? We should abolish rating and the standings table, so that no one ever knows the results of a contest, then people will stop worrying so much about it.

    In fact, why even host contests? All they do is cause stress to the users and set them in pursuit of arbitrary numerical ranking goals. But after we get rid of those, we won't need them any more! Codeforces should just go full online-judge and have a giant list of problems. If you want to simulate the experience of being in a round, stick a couple of them together. This fixes the long queue issue too since there's no spike of people submitting at the same time. Genius!

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

The best solution here is to stop obsessing about your rating. Don't let 16 bits determine your self worth.

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

If it has become pointless, what was the point of it before?