Recently, I have been facing the following issue: I really like competitive programming, and I am really excited whenever I do a contest, and I try to not miss a contest. However, I don't find any enthusiasm in upsolving the problems later, which is essential for improvement. I don't find solving problems in a non-competitive environment interesting, but on the other hand this is something that I have to do, in order to improve my rating and chances of going to IOI (which is pretty easy in my country, compared to other countries).
Whenever I start solving a problem, I get bored after not being able to find the solution within 10-20 minutes of thinking, so I end up watching random videos on YouTube.
What should I do? I really don't want to stop doing CP, but I know that I need to train more. How should I encourage myself to train?