# CP Resources
These are some of the resources which might be useful in Competitive Programming (CP).
---
## Online Judges
Online judges are some of the most important resources in CP because a lot of practice is required. The most popular of which is [Codeforces (CF)](https://codeforces.com).
As CF's interface might be confusing, here is a short guide to access the problems.
1. You can access the problems by clicking `problemset` and you'll be redirected to [here](https://codeforces.com/problemset).

The columns in order from left to right are: problem id, problem name, action buttons, problem difficulty rating, problem solve count. On the right are some options to use while searching for problems, such as filters and settings.
2. By clicking on the problem, you'll be redirected to the problem's page. To submit you must login first. You can either code in the site by going to `submit` tab (red) or you can submit a solution file directly (blue).

Below is the code editor in the submit tab, with an example hello world written in it.

Either of those options prompts you to choose a language. It will not auto detect the submitted code's programming language. The default language is C++17.
> For reference of the difficulty, OSN-P B problems are in the range of $800-2000$. while OSN problems are in the range of $1800-3000$ (full solution).
Alternatives for CF are [TLX](https://tlx.toki.id), [Atcoder](https://atcoder.jp), [oj.uz](https://oj.uz), [vjudge](https://vjudge.net), and many more.
## Books
There are some free books availabe online which touch upon the basics of CP and even deeper. Some of such books are:
#### [Pemrograman Kompetitif Dasar (PKD)](https://osn.toki.id/data/pemrograman-kompetitif-dasar.pdf)
A book by NOI's Alumni. The contents of this book is deemed as outdated nowadays, hence the Alumni is currently working on a new book to replace this one. However, the book is not expected to be coming out in the near future.
However, This book might still be rather valuable for a beginner.
#### [Competitive Programmer Handbook (CPH)](https://usaco.guide/CPH.pdf)
A book by Antti Laaksonen.
#### CP Book Series
A book series by Steven Halim. [Book 1](https://www.comp.nus.edu.sg/~stevenha/myteaching/competitive_programming/cp1.pdf) and [Book 2](https://usaco.guide/CP2.pdf).
## Others
Other resources in general are:
#### [osn.toki.id](https://osn.toki.id)
A website managed by Alumni of Indonesian's National Olympiad in Informatics (NOI).
#### [TFC](https://instagram.com/tfc.fanclub)
TFC is managed by some of NOI's Alumni. They usually share their solution to OSN-K and OSN-P problems in their instagram posts. They have started sharing their solutions since 2021.
#### [CSES](https://cses.fi)
Usually used for testing implementation for templates.
#### [CP Algorithms](https://cp-algorithms.com)
A website which contains in depth explanations about algorithms used in CP.
#### [HKOI Traning Materials](https://hkoi.org/en/training-materials/2019)
Hongkong Olympiad in Informatics's Website. Their training materials are rather useful, especially geometry, as it is one of the hardest material in CP, [HKOI training geom material](https://assets.hkoi.org/training2019/geom.pdf).
## Puzzle-like
These are usually easier than CP problems and are mostly only implementation problems. However, these might be a source of motivation, hence why this section exists. A few of the notable ones:
#### [Coding Game](https://codingame.com)
A platform which serves problems in an interactive game-like manner.
#### [Code Wars](https://codewars.com)
A platform serving classical algorithmical problems.
#### [Advent of Code](https://adventofcode.com)
An annual contest which starts at 1st December.
---
Have fun doing CP :D