Let me start with confession: I feel I suck at competitive programming.
This is kind of embarrassing, because I work as software developer for over 10 years!.
Despite the fact I feel really comfortable with C++/implementation, even easy "observation" or "ad hoc" problems are often difficult for me. I can usually solve A and B during contest — but slowly. Doing C is waaay beyond me.
As I'm writing this, I've solved ~270 problems on CF plus ~50 more on other platforms. This includes most of A2OJ "ladder" that targets C level. I believe this amounts to 600-800 hours of dedicated practice.
Result? I'm still Pupil. I've reached Specialist, but not for long, so it was more like luck that real achievement.
When I see ratings of other people, rarely I see someone stuck at Pupil level for so long. It seems so easy for many people to reach Specialist and beyond.
So I wonder, is it time to give up my ultimate goal, which is Expert?
If someone invested, lets say, 800h hours for focused CP practice and still Pupil... should "total lack of CP talent" be declared and is it time to move on?