Why do teams in ICPC have such a hard time during the contest even though they're all such great problem solvers?
I would like to look at this problem from 3 different sides.
- ICPC World Finals problems are not that trivial; they are picked in such a way that they are challenging enough even for strong teams. Teams are struggling because they are expected to struggle and perform at the top of their capabilities.
- A lot of teams do struggle at ICPC when you take "struggle" as "perform not as good as they could've done". A lot of contestants are under stress, as this may be the most important competition in their life; it could be something they've been preparing for over last 5 (or even more) years. On top of that, you have to compete using workstation that you are possibly not very familiar with (especially if you didn't bother to practice using same OS and same keyboard etc.), typically in a foreign country, in contest arena that may be too hot or too cold or simply not as comfy as your favorite location, most likely in a different timezone...
- Top teams are usually really good. It is easy to say that they struggle when they don't manage to get AC on first try or when they solve a problem not as quickly as they could've done it, but they are in fact really good. It is something that may be harder to grasp for somebody not familiar with competitive programming, or for some random beginner who'll be like "What's the difference between 2500 at CF and 3000 at CF? Both are insanely good at competitive programming..." Trust me, top teams at World Finals are incomparably better even when compared to average World Finals teams (e.g. somebody finishing at 40th or 50th place). And those "average" teams are typically way better than lots and lots of other teams that got beaten at preliminary stages.