so this is something that i think a lot of relatively newcomers struggle with. many times i find myself spending days trying to solve a challenging problems i.e. problems solution of which i am unable to figure out in maybe 30 minutes. Many times it has actually paid off and i actually could solve some problems that i thought impossible for me. So i would like to know others' approach to this issue. when do you say to yourself "okay, maybe i should just check the editorial". how frequently do you use the editorial and how much important is it? I find myself using the editorial or seeing the solution very rarely. i know these stuffs vary and are supposed to vary with different people. but opinions of others will surely help. Thanks for reading. [the tags may be wrong. i don't know about them that much]
If I can solve the problem, it means I know what to do then it is better to take more time rather than just looking for editorial. Because the most important thing in CP is your thinking. If you cant think of any solution or feel stuck then probably a hint would be good even then if you are unable to solve the problem then look at the editorial or codes of other guys. If still you don't understand leave it for now. It means you are not familiar with the concept. Then read about it and try it again. This is how recently my training is.
I think generally solving problems harder than your current level is the consensus on how to improve. (though don't overdue it, it would be frustrating and useless to try solving DIV1 Es, when you're DIV2.).
Also the feeling of starting on a hard problem, not having the faintest idea on how to approach it, but managing to solve, is a very satisfying feeling.
If I can't solve a problem in three days and it seems really intriguing then I read the editorial. I only read them as a last resort.
Once I have been stuck on a problem for a month. Not that I had been thinking about it whole day long, but I used to continue working on it here and there. Now, maximum time I spend thinking about it is about a week. After that I put it in 'unsolved' folder and return to it later, maybe after learning more theory or having more practice. For average problem of my level though that I cannot solve for one reason or another, I think about it for a day. I do not like checking edutorials of unsolved problems, but If I solve it, they are a good way to see different approaches and I check them. But for unsolved problem I have this 'okay this works for some reason' and not 'woah' reaction and that does not make me a better coder that much. Still, it is important to learn theory separately and not invent every algorithm yourself so I try to balance those two