Лучше Python, потому что он объективно проще плюсов и позволит сконцентрироваться на решении задачи, а не на инструменте формализации решения. Это означает, что у вас будет больше времени на освоение типовых алгоритмов и структур данных.
Не для кого ни секрет, что так называемое спортивное программирование -- это про умение понять к какой категории относится задача, быстро увидеть паттерн и написать какой-то низкокачественный код, чтобы проходило тесты. Вот и всё.
Касательно скорости не волнуйтесь. В олимпиадных задачах большую роль будет играть сложность алгоритма. Если действительно будет необходимо, то потом почитаете про то как оптимизировать выполнение программы на пайтоне с точки зрения языка программирования.
С реальным практическими задачами, где C++ будет выгоднее выбрать с точки зрения скорости работы программы и объёма потребления ресурсов, вы, вероятно ближайшие лет 10 не столкнётесь, если столкнётесь вообще.
В плане DS/ML (и прочих модных штук в этой области), Python однозначно более широко используется, чем C++. Ну всякое вроде R.