Есть небольшой проект который рассказывает, по каким путям можно идти. Там есть пункт "Дорожная карта":
https://salmer.github.io/CppDeveloperRoadmap/Russian/
Это ответ на вопрос "Где и как учить с++?", но не ответ на вопрос "Как подготовиться к олимпиаде?"