I haven't slept for 20 hours and I can't fall asleep. I've been reading others' topics on AI, and I had a sort of epiphany. These ideas have been brewing inside me for many years, and I thought it might be time to share them with the community.
There were times when I was a "competitive programmer" at core. I spent many years doing that exclusively. I've never been to IOI, but I like to think that I've reached some good heights.
Two years ago, I've stopped writing online competitions. I've written a few offline competitions after that, but eventually I decided to stop that too.
Yet somehow Codeforces still attracts me. I don't want to solve problems, but I keep typing codeforces.com into the address bar. Why? Just yesterday, I didn't have an answer.
Imagine a layperson asking you what competitive programming is. What are you going to say? My answer has always been "oh, we solve interesting algorithmic problems with time constraints and other limits". Many of you likely do the same.
Yet we keep calling what we do "competitive programming". Why does the explanation lack the word "compete" then?
Barring Codeforces-specific hacks, all participants solve problems independently. It's not like chess, where one competes against someone else. It's asymmetrical. So why did we add PvP? Because it's fun.
But why is it fun to me specifically? I understand I'm in the minority here, but I hate writing rounds. I know my limits, I know what I can and can't achieve with my limited time. Seeing my rating dance around 2200 is no fun and not a good motivation to keep going. Even if I keep improving, what do I get in return? Unless I get to the "top rated" list, it's only fake internet points. Hell, the only reason I use this account is because people trust an orange's posts more than cyan's.
I'm not here for contests. I'm here for the community. I'm here for you all, and for you, the one reading my post right now, in particular.
I like reading about interesting tricks. I like to see people inventing new techniques or uncovering bugs. I like watching people reporting UB as if it was a compiler bug, because sometimes it really is a compiler bug, and I get to chuckle for a minute.
To me, interacting with other people is the best human experience of all. I think many agree with this. There's so many comments on round announcements, so many people helping each other understand the editorial, so many memes. (Do we have a mascot yet?) We've built quite a subculture.
CP isn't "competitive programming", really. It's not about solving problems faster than others. No, it's about making bets with your friends, achieving something to boast about, and making silly jokes only geeks understand.
I think that in this day and age, CP isn't even about competitions in the first place, it's algorithms and efficient coding.
I think we're trying to keep CP narrow for no reason.
It seems to me like for everyone but the very top participants, solving a problem doesn't .
In no way is it correlated with my smartness or experience.