# Codeforces

Codeforces (Russian: Коудфорсес) is a website that hosts competitive programming contests. It is maintained by a group of competitive programmers from ITMO University led by Mikhail Mirzayanov. Since 2013, Codeforces claims to surpass TopCoder in terms of active contestants. As of 2019, it has over 600,000 registered users. On its 15th anniversary, Codeforces had a total of 1,692,402 users with at least one submission. Codeforces along with other similar websites are used by some sport programmers, like Gennady Korotkevich, Petr Mitrichev, Benjamin Qi and Makoto Soejima, and by other programmers interested in furthering their careers.

## Overview

Codeforces is a platform where people generally practice competitive programming and it offers the following features:
* Short (2-hours) contests, called "Codeforces Rounds", held about once a week
* Educational contests (2-2.5 hours, with 12 hours (24 hours before Round 45) hacking period), held 2-3 times per month;
* Challenge/hack other contestants' solutions;
* Solve problems from previous contests for training purposes;
* "Polygon" feature for creating and testing problems;
* Social networking through internal public blogs.

## Rating system

Contestants are rated by a system similar to Elo rating system. There are usually no prizes for winners, though several times a year special contests are held, in which top-performing contestants receive T-shirts. Some bigger contests are hosted on Codeforces base, among them "The Lyft Level 5 Challenge 2018", provided by Lyft or "Microsoft Q# Coding Contest — Summer 2018" provided by Microsoft.
Contestants are divided into ranks based on their ratings. Since May 2018, users with ratings between 1900 and 2099 can be rated in both Div. 1 and Div. 2 contests. At the same time, Div. 3 was created for users rated below 1600. There is also a Div. 4, which is for users rated below 1400.
| Rating range | Title | Division |
| ≥ 4000 | eponym | 1 |
| 3000 — 3999 | Legendary Grandmaster | 1 |
| 2600 — 2999 | International Grandmaster | 1 |
| 2400 — 2599 | Grandmaster | 1 |
| 2300 — 2399 | International Master | 1 |
| 2100 — 2299 | Master | 1 |
| 1900 — 2099 | Candidate Master | 1/2 |
| 1600 — 1899 | Expert | 2 |
| 1400 — 1599 | Specialist | 2/3 |
| 1200 — 1399 | Pupil | 2/3/4 |
| ≤ 1199 | Newbie | 2/3/4 |

## History

Codeforces was created by a group of competitive programmers from Saratov State University led by Mike Mirzayanov. It was originally created for those interested in solving tasks and taking part in competitions. The first Codeforces Round was held on February 19, 2010 with 175 participants. As of the end of August 2022, over 800 rounds were held, with over 9000 registered competitors per round on average. Before 2012, Codeforces Rounds were titled "Codeforces Beta Rounds" to indicate that the system was still under development.

## Academic use

Codeforces is recommended by many universities. According to Daniel Sleator, professor of Computer Science at Carnegie Mellon University, competitive programming is valuable in computer science education, because competitors learn to adapt classic algorithms to new problems, thereby improving their understanding of algorithmic concepts. He has used Codeforces problems in his class, 15-295: Competition Programming and Problem Solving. At the National University of Singapore, Codeforces rating is also used as an entrance qualifying criterion for registering for a 4-unit course, CS3233 Competitive Programming, as students have to achieve a rating of at least 1559 to be able to register for the course.