I have been doing competitive programming for the last 4 years. But after the initial 2 years, I feel like I haven't made any progress. Whatever new topics I learn, however much I practice and participate in contests, there's always a limit beyond which I can't go. Even though my max rank is Candidate Master in my original account, I still can't solve beyond Div2-D problems (very few of which I actually solve at contest time). Lately, I'm very demotivated and can't even solve problems that I previously solved myself. This is making me wonder if I have really wasted a significant portion of my life in front of a screen doing something pointless. I usually find it very difficult to give up on anything I'm pursuing and I'm particularly scared of giving up on competitive programming because I've spent most of my college years doing this and it's all I have to show for my skills.
Can anyone provide me with any good suggestions as to how I can get back on track or push myself beyond this threshold? Or should I just work up the courage and give up on this?








Sometimes it might be good to take a break, to switch to something else, or to change your approach.
First ask yourself what your motivation is. Do you just want to gain "internet points" by improving your ranking? Or are you doing it because you like programming, like learning algorithms , want to improve your understanding?
Even if your ranking stagnates, as long as you find some benefit in learning about new problems, it can be worth your time. Just be sure you know what your goal really is.
If you think you want to continue: Try new methods. You can read editorials, read solutions from other contestants, ask specific questions at which point you struggled following the editorial, read blogs, watch explainer videos. You can also experiment with your coding style, experiment with only starting to code after you have fully worked out a solution on paper, etc. There are so many possibilities. Just be sure that you really want it and that you want it for good reasons.
For me? Currently I definitely want to attempt to go back and even beat my old rating. But it's more about the process, less about the rating.
(By the way: Unless you've lost your password and can't recover: using multiple accounts is discouraged.)
It's ok to have a rest and come back when you feel better.:D
I think you might be doing CP the wrong way. You seem too be worrying to much instead of having fun. I like to think of CP like I think of a sport. And who does sports only to increase their rank? Maybe pros but they're only a hand full of people. Most do them for general physical fitness and because they like it.
You might also be practicing in a sub-optimal way. It sometimes can be nice to try a different way.
In my opinion you might be practising the wrong way. I myself at start code for 1 year and could not solve Leetcode medium problem. After that I focused my practice on particular difficulty level and tried to solve problems on all DS at that difficulty level (like medium array, medium graph etc).
The problem earlier was that I solved problems of only easy level for one year and touched only a few DS.
If it's not fun and is becoming a stress for performing good, simply don't do it. Have some fun, learn new skills. Do cp as long as not doing it feels like something is missing.
I'm very old (50+) and been competitive programming since 2004 or so.
I do it because I love programming.
Sometimes I go months or even a year between competitions due to work, life, etc. Also for work I don't program, I am a manager.
Then I found something scary happens. After a gap of 6 months, my fingers have a small delay in typing things like for ().. if ()...
For me, it feels almost like... I don't know .. forgetting how to walk? I never dreamed something that basic could slow down. Now I never let too much time go between at least some small practice.
So if you love programming, let me warn you: practice is not just about going to a higher level.
It is also about not dropping to a lower level.
Good luck!
(50+)? It's time for you to retire ^-^
Do you mean retire from work and do something that you love, such as competitive programming? ;-)
go just now ;-)
If you love it, keep doing it. It's a bit like Steve job speech in front of Stanford sophomores. Just do it, you'll connect the dots later that is understand why it was useful later. Also, from my personal experience, I felt like you, I didn't progress and was wondering if it was worth it or if I was just losing my time. But it appeared, that thanks to the skills I've learned trying to solve competition problem I managed to get a job in a great software company because I literally destroyed interview coding questions thanks to the time I spent trying to solve competitive programming problems. So I've connected the dots but later ;))
Stay. Don't leave me.