C++ este de ajuns pentru un incepator.
Depinde ce vrei sa faci. Daca te intereseaza algoritmica invata bine C\C++. Tutoriale despre C++ gasesti peste tot pe web, e.g.
http://www.cplusplus.com/. Dupa ce inveti sa il foloesti, eventual si OOP, apuca-te de rezolvarea de probleme. Daca te intereseaza olimpidele, pe la clasa a 10-a se da Lee (asa ii se spune parcurgerii in latime, sau Bellman-Ford-ului cand este aplicat pe matrici
), putina programare dinamica si probleme cu siruri de caractere. Incepe sa rezolvi probleme propuse la locala, judet si cele de din arhive. Vezi ca nu intotdeauna o stea dificultate inseamna cel mai usor
. Parerea mea este sa te gandesti cat mai mult la o problema, si asta nu inseamna 10 minute, pentru ca asa te dezvolti. Daca nu iti dai seama de idee, abia atunci utita-te pe solutia oficiala sau intreaba pe forum.