sanguinecha.me/leon

PE = CF?

25-Dec-2025

Note: This is an appendix to New Year, New Me (Allegedly), but it can be read on its own. I assume you already know what Project Euler and Codeforces (more generally, competitive programming) are.

Prologue

In ye olden days, I said:

"I'm not sure exactly when it happened, but at some point, I realized that I prefer solving Project Euler problems to Codeforces problems. It's a subtle reason…"

This is true. There was, in fact, some point in the past when I liked Project Euler more than Codeforces.

I then proceeded to imply that Project Euler was "better" than Codeforces with some dubiously biased takes.

This is not true. Never has been, really. I think I made all this up in an attempt to convince myself of it.

So I'm writing this post to tie up any loose ends, try to diagnose the actual issues, and reflect on the future of my relationship with Project Euler and Codeforces.

This post will not, in any way, attempt to compare them. I will not be using any examples from either website.

I'll only write about solo stuff, so I will not mention (e.g.) anything ICPC-related.

There will be a lot of abbreviations throughout. I trust that you can work out what they mean without any issue, since they're pretty common.

This post is, to put it nicely, light trauma dumping. All experiences are my own. I will not endorse or condemn anything I've done (even though most of it was pretty bad :p).

Of course, most of my life is none of your business, so this is certainly not the full story.

I'm just here to write.

High School

Suffice to say, my relationship with comp-prog has always been… complicated.

I don't really like writing serious/sad/whatever stuff. I prefer to be introspective while keeping things light-hearted. But I think there's some context worth mentioning here.

So here's a brief rundown of what I did in high school.

Pre-IOI

When most people think of comp-prog, they think of CF. So naturally, I did CF as well.

The problem was, everyone else in my school's comp-prog team also did CF, and they were all better than me.

They were all IM or GM level, while I was still oscillating between CM and M.

They did make fun of me for it. Whether or not it was in jest does not matter, because it was amplified tenfold in my mind.

Eventually it got to the point that I quit CF entirely.

Besides, that wasn't the main target anyway. We were all training to be selected for the IOI, not for CF, so sure.

I proceeded to shock everyone (and myself) by claiming the first spot in the IOI team.

IOI

I didn't expect to get this far. A gold medal was now my one and only goal.

I had a month of free time before official training began, so I spent all of it grinding the past IOIs and nothing else.

By the end of it, I was doing two 5-hour contests a day, and I made sure to upsolve everything afterwards.

It was starting to get painful, but it would surely be worth it in the end.

Official training starts, and I would stay in class long after the others had left.

I wanted to solve everything. Had to solve everything.

Surely, it would be worth it, of course.

Post-IOI

I was incredibly lucky to get a gold medal. The only gold medal in the team, in fact.

It was all over now. I did it. I had proven myself. No one's gonna mess with me now.

I did have another chance of going to the IOI (I was in 11th grade), but I decided not to, because frankly, I was too exhausted at this point.

But it was all worth it in the end. Of course.

Of course.

It was not that worth it

Let me be clear: am I proud of my gold medal? Definitely. I still am, and I always will be.

Did I sacrifice a lot for it? Yes.

Would I have achieved the same result if I hadn't? This I cannot say, because it's not really something that can be easily repeated.

Having said that, was it stupid? Kind of.

I will armchair psychologist myself and say something non-controversial: it probably isn't a good idea to assign all your self-worth to one specific thing.

I mean, I felt fantastic for a good long while after IOI. But, you know, it's not really sustainable.

But that's enough analysis for now. Let's move on.

Back to CF

With the heavy weight off my shoulders, I could focus on CF again. I wanted to at least reach GM level.

And I did! I surpassed that, even. I reached IGM.

Now, I think there are a few reasons for this:

  1. My brain was still developing at that point
  2. I was lucky, and the contests had problems that were in my strong suit
  3. I had, you know, a lot more confidence

I don't know which was the biggest factor, but either way, I improved. A lot.

I also started solving PE in the meantime.

Eventually, there was a shift. A subtle one at first, but then it was unmistakable.

I was getting bored with CF.

I mean, I had kind of already reached peak performance. LGM was surely out of reach for me.

It was getting monotonous. Solving easy problems quickly.

I had no time in the contest to solve hard problems. I wanted to solve hard problems.

And… okay, maybe I was making excuses for myself because PE was starting to grab my attention more.

I don't think CF was ever "boring" for me. I just found something I liked more.

There was something I enjoyed more, so I spent more time doing that thing and stopped doing the other.

There's no punchline here. Really. That's, like, normal.

On paper, there was nothing wrong with it: spending my free time doing a thing I like.

But let's actually examine why I liked doing PE.

Number Go Up!!

Okay, let's be real. I like grinding things. A lot.

There were hundreds of problems on PE. I wanted to solve all of them.

(omg, solve all of them!! all of them!!)

When I was planning for university, I remember thinking: "Hmm, so 4 years is about X days, so I need to solve a problem every Y days if I wanna finish before getting a job. Seems unlikely, but maybe…"

Then my solving speed ramped up.

After my first semester, I thought, "I might actually complete this before I graduate." After my first summer break, I thought, "I might complete this before next summer."

The finish line kept moving forward, until I realized, "Oh, I might finish this week."

Guilty pleasure? Yes. Did it kind of affect my life? Maybe.

At some point I started solving problems in class. But, you know, I'll excuse myself and say that those classes were easy (they genuinely were).

Back in middle school (during COVID), I developed a Cookie Clicker addiction (I thankfully no longer play it). Now that almost ruined my life.

But unlike Cookie Clicker, where you just click mindlessly, with PE I actually had to, well, use my brain to think.

So I convinced myself I was doing The Right Thing.

Was it overall an enjoyable experience? Sure. I love grinding, and you can't stop me.

However, there were definitely some low points throughout.

Self-Isolation

For some reason, I imagined PE to be a sacred problem-solving website where you have to work on your own.

I mean, their policies make it clear, right? Sharing answers is strictly prohibited.

So throughout the grind, there were moments where I'd be stuck on a problem for a long while, get upset at myself, and have no one else to talk to about it.

At points where I was really desperate, I looked at problem tags. I even asked the Discord server for just the tiniest crumb of assistance (gasp!). I felt like I was committing some unspeakable sin.

This was… stupid.

Look, I know it's hard to establish clear boundaries on what's right and what's wrong, but at least for me, with all of these "close" calls (which, in hindsight, I don't think were close at all), the central a-ha moment was entirely derived on my own. The amount of help I got, while technically non-zero, was superficial to the entire solving process.

And what did I get in return? Some actual solace. Some human connection. Going at something almost entirely alone (while I know some people are capable of it) was not only very challenging, but it ended up actively doing more harm than good for me. I joined the Discord server far too late.

This is a fantastic combination of me being a stubborn absolutist while desperately wanting number to go up.

But anyway, that's all under the bridge now, right? I've currently solved all the problems.

What more could I possibly ask for?

Gold Medal?

Okay, so in PE, there's a fastest solvers list. When I was in the middle of The Grind, this didn't really matter, since I was solving problems sequentially and didn't really care about the recent ones.

But now that the backlog is clear, the natural next step is to, well, care about the list.

I've achieved Top 10. That wasn't too difficult of challenge (thankfully), and I got an achievement for it. Great!

The only achievement left is Gold Medal. Getting 1st place.

Oh dear.

I've always treated PE as a safe space for me. One with no noise, no competition. A place where I can just grind problems.

And uh… hmm. This is not good.

Hold that thought. Let's return to CF.

LGM? LGM? LGM?

With so much time on my hands now that PE is done, I can focus on comp-prog again! How exciting.

For context, I was currently at GM.

After I made my post celebrating, some people asked me what my next goal is. So I absent-mindedly said:

"Reaching LGM, of course. The grind never stops, baby!"

I was excited! I did virtual contests nearly every day for 3 weeks. This is good! This is consistency!

Then I did a live contest. Plus rating. Nice!

Then another one. Minus rating. Oh.

Then another one. Minus rating. Down to IM.

Then another one. Plus rating. Still IM.

Then another one. Minus rating. Still. IM.

The plus-es didn't matter.

I was minus-ing.

It appears that I've shot myself in the foot. Blown off my entire foot, even.

Number NOT Go Up?!

I mean, I think the implication is kind of clear here.

I would make a terrible gambler I am fixated on a metric that's far too volatile.

With PE, you can't lose the number of problems you solve.

With CF, you can lose rating.

That is it. That is literally it. That's why I liked PE more than CF.

Enlightening.

But I am not here just to wallow in my own self-pity, so I want to get a bit more serious and try to resolve this issue. Slowly.

This is not The One

Now, I would do a terrible job at explaining the gambler's fallacy, but just hear me out.

Listen, it is tempting to think "Oh, I've been minus-ing so much, next one must be a plus!" for CF, or, "Oh, the last few problems have not been combinatorics, so the next must surely be one! My strong suit!" for PE.

So, okay, it might not be a good idea to think that the next one is The One.

But just by probability alone, surely one of the next 10 or 20 must be The One, right?

Is this a good way to think about this?

Positive EV?

Maybe it is true that, in any given contest, my expected gain is positive. Maybe it is true that by participating in enough contests, I will reach LGM.

Maybe it is true that, given enough problems (and assuming I'm available at release time), I will get Gold Medal.

Maybe.

But is that really all there is? Just do many things and you will get good thing?

In a literal sense, maybe that's true. But I don't really think mindset is helpful.

What happens if I get LGM? Or I get Gold Medal? Do I stop participating seriously?

Is that really all I want to achieve?

Non-Zero Chance

I'm not a lunatic. Okay, maybe I am. But if I don't see the signs that something is possible, then I probably won't do it.

I've had LGM-level performance before. Maybe not consistently, but at least I've done it before, so I know it's possible.

I also know it's theoretically possible to get Gold Medal. I recently fumbled on a problem that was, in hindsight, not difficult.

So yes, I do think I am capable of achieving these. But no guarantees.

Sometimes I fantasize about the moment I do. How thrilled I'd be. I definitely did when I was grinding PE.

But why? Why do I actually want this?

It Would Feel Good

This post to starting to get all over the place, but I want to get this right, at least.

Yeah. You've read the header section. It would feel good. That's it.

Okay, okay, but why would it feel good?

Because I've proven myself?

I mean, I don't wanna admit it, but yeah, probably.

This is mostly a CF thing, but I can see it potentially eating into PE as well.

People would think I'm an "LGM! omg! orz orz orz" or whatever.

And yeah… that would feel nice.

Every time I lose rating, it's a step further away from that.

I might have really low self-esteem, lol.

I Could Care Less

I guess my point is: none of this is that important.

I think it's fair to say that everyone probably won't revere me even if I managed to do it.

But that doesn't mean that literally no one cares, and I think that's a crucial distinction to make!

I find myself downplaying my achievements, but secretly craving validation for them, which is a real head-scratcher.

Maybe I don't need everyone's validation. Maybe.

Maybe it's not that deep. Just a bit. Maybe.

Epilogue

So what am I to make of all this?

You've probably heard of the cliché. The journey, not the destination, all that jazz. If I could completely detach myself and focus squarely on the journey, I would. But I am only human.

I think it's good that I care about my performance. I think it's good to feel upset if I think I could've done better than I did. It's good not to suppress such emotions.

In fact, if I didn't care about my performance at all, then maybe I didn't like comp-prog or PE in the first place.

It's good to have something I care about, even if it gives me an emotional headache every now and then. I can hope (maybe believe) that they will lessen over time. Of course, I have other things to fill the void, but it's good to have a main interest.

It's good to know that, with such a reasonable rate (once a week for PE and about once every two weeks for CF), I can definitely manage, even with other responsibilities. Essentially, I have infinite time. Well, infinite until either I die or the websites go down.

How should I end this… I'll take the closing line from my old post:

"I simply enjoy solving problems. That's all there is to it!"

And you know, he's not wrong.

It's unhelpful to pretend that I'm only doing this because I like solving problems. But, you know, it's good to step back and realize that it was (and still is) one of the primary motivating factors.

I mean, not all problems are great. No, a lot of problems aren't great, whether it's Project Euler or Codeforces.

But if actively continuing to participate means there's a chance I get to solve another nice problem, then…

Surely this is all worth it.

And that's pretty good.