\chapter*{Preface} \markboth{\MakeUppercase{Preface}}{} \addcontentsline{toc}{chapter}{Preface} The purpose of this book is to give you a thorough introduction to competitive programming. It is assumed that you already know the basics of programming, but previous background on competitive programming is not needed. The book is especially intended for students who want to learn algorithms and possibly participate in the International Olympiad in Informatics (IOI) or in the International Collegiate Programming Contest (ICPC). Of course, the book is also suitable for anybody else interested in competitive programming. It takes a long time to become a good competitive programmer, but it is also an opportunity to learn a lot. You can be sure that you will get a good general understanding of algorithms if you spend time reading the book, solving problems and taking part in contests. The book is under continuous development. You can always send feedback on the book to \texttt{ahslaaks@cs.helsinki.fi}. \begin{flushright} Helsinki, October 2017 \\ Antti Laaksonen \end{flushright}