In competitive programming, which is better? Solve problems and then learn related algorithms, or learn algorithms and then solve related problems?
Why is learning algorithms and competitive programming so hard?