Про сайт codeforces

Про язык C++

Проcтые графы

Теории тут пока нет. Можете прочитать основные вещи в википедии (хотя там много лишней терминологии), или здесь (там реализация на питоне, но, я думаю, вы догадаетесь, как это сделать на паскале), или здесь (тут несколько страниц). Вам пока надо только понимать, что такое граф, знать ряд определений, и уметь хранить графы в программе. Из способов хранения графа вам пока будет достаточно матрицы смежности, про остальные можете прочитать для сведения. Обходы графа вам пока не нужны (до следующей темы).

Поиск в ширину

См. видеозаписи лекций ЛКШ параллели C', раздел «Поиск в ширину (BFS)»
См. видеозаписи лекций ЛКШ параллели B' 2008, раздел «Поиск в ширину» (там есть и довольно продвинутые темы, которые вам пока не нужны)

Бинарный поиск (поиск делением пополам)

См. также видеозаписи лекций ЛКШ параллели B', раздел «Бинарный поиск» (хотя там несколько устаревший подход к поиску элемента в массиве).