jesli chodzi o olimpiadę infrmatyczną, to:
- pod względem językowym starczy Symf*** i Pasja (oraz inne książki/skrypty/prezentacje traktujące o STL)
- pod względem algorytmicznym starczy wspomniane Wprowadzenie do algorytmów i Elementy Teorii Grafów czy tam Teoria grafów z PWN bodajże
... pod warunkiem, że:
- jesteś bardzo dobry z matmy
- nie tylko przeczytasz, ale i zrozumiesz treści w tych ksiązkach, najlepiej samemu implementując dane algorytmy
W sumie mogę jeszcze polecić C++ dla programistów gier (optymalizacja/zaawansowane STL).
Jeśli c++ cię wciągnię, a jest do czego wciągać, to olimpiada informatyczna szybko przestanie być zagwozdką programistyczną (stając się tylko algorytmiczno-matematyczną) i będziesz chciał poznać dogłębniej obiektówkę, programowanie kontraktowe, wzorce i inne takie - co polepszy, ułatwi i usprawni proces pisania większych aplikacji desktopowych czy nawet gier

- to warto sięgąć po mylący polski tytuł Język C++, gotowe rozwiązania, (ang. Imperfect C++), ale już przy tym stopniu zaawansowania znajdzie się wiele tytułów wartych zainteresowania, tylko zależy co Ciebie będzie bardziej ciekawić
PS. wielkich sukcesów w OI nie mam, ale naprawdę programowania to tam za dużo nie ma, najbardziej liczy się pomysł i matma, a c++/stl to tylko wygodny i wydajny sposób implementacji tego na maszynie