I've been participating in some recent contests and am amazed how fast the top people are. They solve all 4 under 30 mins while It takes me 1.5 hours to solve 2-3 problems. I don't think the contest probelms are super hard, and I do finish the remaining ones within 2 hours after the end, but I'd like to get to a point where I can do all 4 within contest limits. For those of you who seriously train/trained for competitive programming: how do you gain speed? Is it just endless repetition or is there something else I can do to get faster?