Прочитав только вопрос собирался было ответить "а зачем выбирать, то и другое полезно и интересно". Но прочитав комментарий все встало на свои места. Лично на мой взгляд олимпиады на которые должен натаскивать репетитор смысл и интерес теряют. Даже и помимо денег на репетитора. Эти время и силы лучше потратить тогда на технологии применяемые в реальных разработках.
По поводу дальнейшего изучения дам несколько советов. Кстати часть из них получается среди прочего и про деньги :-) Советы не бесспорные. Сразу напишу, я не преподаватель. Но мой опыт разработчика уже измеряется десятилетиями.
Для начала одна важная вещь. Программисты специализируются не по языкам программирования. А по отраслям. Ну например веб-разработка, мобильная разработка, системы учета в простонародье бухгалтерии, разработка игр… перечислять можно долго. Я привел самые массовые и те в которых большинство программирование освоили сами или на курсах, без высшего образования. Язык для профессионала - "расходный материал". Нередко изучается раде одного проекта. В ряде сфер нужно знание нескольких одновременно.
Поэтому выбери первую отрасль в которой хочешь попробовать свои силы. Это важно потому что задачки это конечно полезно. Но программированию не научиться пока не напишешь несколько проектов. Пусть сначала вымышленных но близких к реальности. А еще лучше если у тебя есть идея что полезного тебе было бы интересно реализовать. Среди многого прочего попробовав ты быстро поймешь что язык это очень далеко не все что нужно знать. Нужны еще библиотеки, фреймворки и инструментарий. Многое из перечисленного сложнее языка на котором они базируются. Собирательно все это вместе с языками называется "стек технологий". Если ты будешь изучать все редкоприменяемые конструкции языка но не уделять внимание другим технологиям выбранной отрасли из тебя получится малополезный теоретик. А чтобы понять что на самом деле нужно повторюсь. Попробуй сделать что-то полезное чем раньше тем лучше. И почитай или посмотри видео как похожие вещи делают профессионалы. И попробуй разобраться хотя бы пока в общих чертах почему так.
Как ты уже наверное понял из фразы про расходный материал тебе придется потом быстро изучать новые языки. Поэтому. Для тебя С++ это второй язык после питона. Неплохая идея попробовать изучить его самому. Если еще не владеешь ООП возможно не сразу плюсы. А пока просто C. Опуская частности это процедурное подмножество C++. А если хочешь почувствовать себя в шкуре типичного разработчика попробуй совместить по времени оба совета. Одновременно пиши вымышленный проект на питоне и изучай C. Вот так тебе в реальности придется изучать новые технологии когда будешь работать. Шутка, для начала сложновато. Но шуткой это является только пока для начала.
По поводу ООП наряду с процедурным программированием и рядом других это называется "парадигма". Это гораздо более фундаментальная вещь чем язык. Понимание подобных вещей с тобой останется всю карьеру. И вот в чем хитрость. Сами конструкции языка для ООП не сложны что в питоне что на плюсах. Сложнее понять для чего это полезно и как это применять в реальных проектах. Т.е. понимание этого к тебе придет когда ты будешь делать уже реально сложный проект. На задачках и небольших проектах ООП поначалу кажется только ненужными сложностями. Поэтому если средства на курсы ограничены. Лично на мой взгляд лучше чтобы преподаватель тебе объяснил парадигму ООП. Не столь важно на каком языке. А второй язык изучить самому, чем наоборот самому изучать ООП а с преподавателем второй язык. Хотя я изучал ООП сам. Поскольку дело было в начале 90-х когда это было новинкой у нас. И таки да. Легко разобрался в конструкциях языка. Но далеко не сразу понял что это дает в реальном проекте.
Успехов тебе, будущий коллега!