What are some good algorithmic problems on CodeChef, SPOJ, or Codeforces for an average coder? Every time I try to solve problem on CodeChef or SPOJ, I get the error of time limit exceeded. What should I do? Am I lacking in algorithms?