Before, I used to spend hours a day thinking about a single problem before giving up, but now I've decided to improve efficiency by limiting myself to 30-40 minutes per problem. Is this too short? How long do you guys spend on problems before giving up-if you give up at all?