In my last contest(Educational Codeforces Round 143) I achieved my personal best rating and after few months of practicing finally became a candidate master. While I admit it's a rewarding experience, I couldn't help wondering to improve even more what should I focus from now on. To be more sepecific, I really want to know what it feels like to solve problems as a master or even grandmaster.
To summarize my past coding experience, I divide all my solved problems into two categories: problem with a fixed templet and problem requires innovative thinking. In my perspective, as I practiced more, I become more skilled at the former as I learned more templets. As for the latter, I do understand that solving more is helpful since you might encouter an essentially identical problem, yet still there are many more that are unfamilier and hard to come up with solution.
So, for all the skilled coders, which exactly is more important in your perspective? The experience of solving lots of problems or the ability to come up with solution for the new problems? Or maybe those two are the same thing? \
(My English is reaaly bad. If there's some stupid errors in my post you are more than welcome to point them out)