최근 수정 시각 : 2024-01-05 11:23:52

Codeforces

나무위키에 문서가 작성된 알고리즘 트레이닝 사이트
[[CodeUp|
파일:CODEUP_LOGO.png
]]
[[KOISTUDY|
파일:koistudy logo.png
]]
[[Baekjoon OJ|
파일:external/d2gd6pc034wcta.cloudfront.net/logo
]]
[[정올(사이트)|
파일:jungol_logo_new.png
]]
[[더블릿|
파일:jb7.gif
]]
[[Codeforces|
파일:CF_LOGO.png
]]
[[AtCoder|
파일:AtCoder LOGO.png
]]

<colbgcolor=#5d5d5d><colcolor=#fff> Codeforces
코드포스
파일:CF_LOGO.png
국가 러시아
사이트 목적 경쟁적 프로그래밍
소유자 개인(Mikhail Mirzayanov)
설립일 2009년 4월 10일
회원수 600,000명 이상
총 제출 횟수 1억 7,000만 회 이상
링크 홈페이지

1. 개요2. 대회
2.1. Codeforces Round
2.1.1. Series
2.2. Educational Round2.3. Division2.4. 순위의 결정
2.4.1. Codeforces 방식2.4.2. ICPC 방식
2.5. Editorial
3. Rating
3.1. 사용자의 레이팅3.2. 문제의 레이팅
4. 문제점
4.1. 양민학살 문제4.2. 수준 낮은 커뮤니티
5. 사건사고6. 확장앱
6.1. Carrot

[clearfix]

1. 개요

경쟁적 프로그래밍 대회를 주기적으로 개최하는 사이트이다. 2009년부터 십수 년 간 수백 번의 대회를 개최했고, 현존하는 경쟁적 프로그래밍 사이트 중에서 가장 큰 사이트라 볼 수 있다. 주로 올림피아드에 참가하는 사용자들이 다수 이용하고 있다. 러시아에서 만든 사이트지만 러시아어뿐만 아니라 영어도 지원하고 있어서 기본적인 영어 실력이 갖춰진다면 문제를 이해하고 푸는 데 지장은 없다.

사이트에서 문제를 푸는 방법은 크게 두 가지가 있다.
  • 대회에 참가한다. 이 경우에는 제한 시간이[1] 주어지고, 이 시간 안에 최대한 많은 문제를 풀어내야 한다. 대회에 참가하면 사용자의 레이팅이 변하는데, 처음 몇 개의 대회에서는 레이팅을 추가로 어느 정도 주기 때문에 빠르게 올라갈 수 있다.
  • 지난 대회의 문제들을 열람한다. Contest 메뉴에서 Contest History로 간 뒤, Virtual Participation을 누르면 대회에 모의로 참가가 가능하다.[2] 또한 Problemset 메뉴로 가면 그동안 Codeforces 대회에 출제된 문제들을 시간 제한 없이 풀 수 있다.

2. 대회

2.1. Codeforces Round

Codeforces의 유저들이 직접 문제들을 만들고 개최하는 대회이다. 보통 일주일에 한 번 이상 열린다. 참가 신청은 대회 시작 약 2일 전부터 할 수 있으며, 순위 결정 방식은 대회 종류에 따라 달라진다. 자세한 내용은 아래 참조.

2.1.1. Series

Codeforces Round 중에는 시리즈 대회들이 존재한다. 아래에 설명한 시리즈 외에 다른 시리즈 대회가 열리는 경우도 있다.
  • Hello: 2018년에 생긴 시리즈로, 한 해의 시작을 기념하는 대회이다. Combined Round이다.
  • Goodbye: 2013년에 생긴 시리즈로, 한 해를 마무리하는 송년 대회이다. Combined Round이다.
  • Global Round: 2019년에 생긴 시리즈로, 1년에 6번 열리며 높은 등수를 차지하면 티셔츠를 받을 수 있다. Combined Round이다.
  • Technocup: 러시아 올림피아드로, Elimination Round 1~4와 Final Round로 구성된다. Round마다 시작 시간이 제각각인 경우가 많다.
  • VK Cup: 챔피언십의 하나로 Codeforces에는 2012년 대회부터 존재한다.
  • Moscow Olympiad in Informatics: 모스크바 학생들의 올림피아드 대회을 Codeforces에서 동시에 개최하는 것이다. 문제들의 어려운 난이도에 대한 논란이 비교적 많은 편이다.
  • Codecraft: 매년 4월경에 열린다. 2015년 대회부터 존재하며 2017년부터 2019년까지 세 번 연속으로 Pretests가 매우 약해서 FST의 대명사로 불리기도 했다.
  • April Fools Day Contest: 만우절 대회로 일반 대회와 다르게 위트 문제들로 구성된다. 2012년부터 해마다 열렸으며 2015년에는 없었다. Unrated Contest이다.
  • Testing Round: 사이트 점검을 목적으로 여는 대회이다. 대체로 기간이 짧으며 Unrated Contest이다. 현재는 Testing Round #17까지 열렸는데 Testing Round #17만 대회 접근이 불가능하고 나머지는 가능하다.
  • Kotlin Heroes: 제출할 수 있는 언어가 Kotlin으로 제한되는 Unrated Contest이다. Practice와 Episode로 구성된다.
  • CodeTON: 상위권 참가자들에게[3] TON이라는 암호화폐가 주어진다. Combined Round이다.

2.2. Educational Round

Codeforces의 특정 유저들이 주기적으로 개최하는 Div. 2 대회이다. 한 달에 두 번 정도 열리며, 순위는 ACM-ICPC 방식으로 정해진다. 자세한 내용은 아래 참조.

2.3. Division

대회에는 Division(줄여서 Div.)이라는 시스템이 있는데, 이는 참가자의 실력에 따라 대회를 나누는 기능이다. Division에 따라 대회에 참가 신청을 할 수 있는지와 그 대회가 자신의 레이팅에 영향을 주는지의 여부가 달라진다.

Div. 1과 Div. 2는 초기부터 존재했다. Div. 1 + Div. 2는 Combined Round라고도 하며, Div. 1과 Div. 2가 따로 열리거나 Div. 2만 열리는 대회보다는 드물게 열리는 경향이 있다. Div. 3과 Div. 4는 나중에 생긴 Division이다.
<rowcolor=#191919> Division 이름 참가 신청이 가능한 레이팅 범위 레이팅에 영향이 있는 참가자의 레이팅 범위
Div. 1 + Div. 2 전체 전체
Div. 1 (Div. 2가 동시에 열리는 경우) 1900 ~ 9999 1900 ~ 9999
Div. 2 (Div. 1이 동시에 열리는 경우) 0 ~ 1899 0 ~ 1899
Div. 2 only 전체 0 ~ 2099
Div. 3 전체 0 ~ 1599
Div. 4[4] 전체 0 ~ 1399[5]
Unrated 전체 없음

이런 이유로 레이팅이 음수가 되면 레이팅 변화에 큰 제약을 받게 된다.

2.4. 순위의 결정

2.4.1. Codeforces 방식[6]

Codeforces Round 중 Educational Codeforces Round, Div. 3, Div. 4를 제외한 대회에서 따르는 점수 계산 방식이다.
각각의 문제에 얻을 수 있는 최대 배점[7]이 있고 패널티에 따라 점수가 줄어든다. 대회 시작 후 1분이 지날 때마다 문제를 풀었을 때 얻을 수 있는 점수가 0.4%씩 줄어든다. 또한 제출한 코드가 테스트 케이스에서 실패한 경우 제출 1회당 50점이 차감된다. 너무 많은 페널티로 인해 문제를 풀면 오히려 손해를 보는 상황이 발생하지 않게 하기 위해 문제를 풀면 최소한 그 문제의 배점의 30%를 얻을 수 있게 되어 있다. 즉, 어떤 문제를 풀었을 때 얻는 점수는 다음과 같다.
max(문제 배점 × 0.3, 문제 배점 - 시간 페널티 - 제출 페널티)

시간 페널티는 다음과 같은 방법으로 계산된다.
(대회 시작 후 해당 문제에서 마지막으로 "Pretests passed" 판정을 받기까지 걸린 시간[8]) × 문제 배점 ÷ 대회 시간[9] ÷ 125

제출 페널티는 다음과 같은 방법으로 계산된다.
(그 문제에 한 제출 중 Pretest 1을 통과한 제출의 수 - 1) × 50

Codeforces Round에는 Pretests라는 것이 존재한다.[10] 대회 중에 제출된 모든 코드는 Pretests로만 채점되며, 모든 Pretests를 통과한 경우 Pretests passed 판정을 받고, 그 문제를 푼 것으로 간주한다. 대회가 끝나면 System testing이 진행되는데, 이때 대회 중에 Pretests passed 판정을 받은 마지막 제출을 Pretests를 포함한 전체 테스트케이스로 다시 채점한다.[11] Pretests를 통과한 코드가 System testing을 통과하지 못하는 경우를 Failed system test(FST)[12]라고 한다. 이렇게 되면 그 문제는 풀지 못한 것으로 간주한다. 코드가 System testing을 통과하는 경우는 Passed system test라고 한다.

Codeforces에는 Hack이라는 기능이 존재한다. Codeforces Round의 경우, 자신이 어떤 문제를 해결했을 경우 대시보드로 가서 그 문제를 Lock할 수 있다.[13][14] 그렇게 했다면 같은 Room[15]에 있는 참가자들이 그 문제에 제출한 코드들을 볼 수 있다. 만약 Pretests를 통과한 어떤 코드를 틀리게 할 수 있는 유효한 입력을 알아냈을 경우 그 입력으로 해당 코드에 핵 시도를 할 수 있다. 핵 시도가 성공했을 경우(Successful hacking attempt 판정이 나온 경우) 핵을 시도한 참가자는 100점을 얻는다. 핵을 당한 코드는 틀린 것으로 바뀌고, 그 코드를 제출한 참가자에게 자신의 코드가 핵을 당했다는 알림이 간다. 핵 시도에 사용된 입력은 그 문제의 테스트케이스의 뒤쪽에 자동으로 추가되어 System testing에 사용된다. 핵 시도가 실패했을 경우(Unsuccessful hacking attempt 판정이 나온 경우) 핵을 시도한 참가자는 50점을 잃는다. 그밖에 핵 데이터가 잘못되었을 경우(Invalid input, Generator crashed 등의 판정이 나온 경우)는 점수가 변하지 않는다.

System testing이 종료되면 자신이 해결한 문제와 핵 시도에 의해 얻은 점수들의 총합을 기준으로 순위를 매긴다. 동점인 경우 같은 순위로 간주한다.

2.4.2. ICPC 방식

Educational Codeforces Round와 Div. 3, Div. 4에서 따르는 점수 계산 방식이다. 문제별 배점이 존재하지 않으며, 대회 중에 문제를 해결하면 해결한 문제 수가 1 증가하고 페널티가 추가된다. 더해지는 페널티는 다음과 같은 방법으로 계산된다.
(대회 시작 후 해당 문제에서 마지막으로 "Accepted" 판정을 받기까지 걸린 시간[16]) + 제출 페널티

제출 페널티는 다음과 같은 방법으로 계산된다.
(그 문제에 한 제출 중 Test 1을 통과한 제출의 수 - 1) × 10

ACM-ICPC 방식으로 진행되는 대회에는 Pretests, Room, Lock이 존재하지 않는다. Hack은 대회가 종료된 후에 할 수 있는데, 대회 종료 직후부터 12시간 동안 Open hacking phase가 지속된다. 이때 모든 참가자의 코드를 자유롭게 핵할 수 있다. 단 핵에 성공하거나 실패하더라도 핵을 시도한 사람의 페널티는 변하지 않는다. Open hacking phase가 끝나면 성공한 핵에 사용된 입력을 포함한 테스트케이스로 System testing을 진행한다.

ACM-ICPC 방식에서 참가자의 순위는 해결한 문제가 많은 순서로 정해지며 해결한 문제 수가 같으면 페널티가 적은 순서로 정해진다. 해결한 문제 수와 페널티가 서로 같으면 같은 순위로 간주한다.

System testing이 끝난 이후 치터[17]가 처리되고[18], 이후 Elo Rating에 기반해서 참가자들의 새 레이팅을 계산한다.

2.5. Editorial

대회와 채점이 모두 끝나면 에디토리얼이 공개된다. 에디토리얼은 모든 문제의 풀이와 소스코드를 간단히 적은 글로 대회가 끝난 뒤에 에디토리얼을 보고 업솔빙할 수 있다. 대회 출제자의 블로그에 올라오고, 문제 페이지에 에디토리얼 링크가 뜬다.

3. Rating

3.1. 사용자의 레이팅

<rowcolor=#191919> 등급 이름 레이팅 백분위[19]
Headquarters 관리자[20] -
Legendary Grandmaster[21] 3000 ~ 99.95%
International Grandmaster 2600 ~ 2999 99.77%
Grandmaster 2400 ~ 2599 99.45%
International Master 2300 ~ 2399 99.26%
Master 2100 ~ 2299 97.89%
Candidate Master 1900 ~ 2099 96.04%
Expert 1600 ~ 1899 90.13%
Specialist 1400 ~ 1599 82.35%
Pupil 1200 ~ 1399 70.69%
Newbie ~ 1199 0%
Unrated 0[22] -

파일:codeforcerating.png

대회를 참가하면 대회 성적에 맞게 레이팅이 바뀐다. 레이팅이 자신과 비슷한 사람보다 잘 보면 오르고, 그렇지 못하다면 레이팅이 떨어진다. 레이팅에 따라 참가할 수 있는 대회가 다르다. 레이팅을 등급 이름으로 부르는 경우는 많이 없고, 대부분 색깔로 부른다. 오렌지 이상부터는 Master와 International Master, Grandmaster와 International Grandmaster을 구분하기 위해 오렌지/찐렌지, 레드/찐레드로 부르거나, 약자인 IM, GM, IGM 등으로 부르기도 한다.

Codeforces에 처음 가입하면 레이팅은 0부터 시작한다. 과거에는 1500부터 시작되었으나, 라운드 한 번만 치르고 Specialist 등급에 이름만 걸어놓는 유저가 많아 그 아래 등급의 유저 분포가 극도로 적어져 하위권 변별력을 확인할 수 없는 문제가 발생해 2020년 초부터 0부터 시작하는 것으로 바뀌었다. 이도 실제로는 1400으로 간주되는데 처음 6번의 대회에서 레이팅 500, 350, 250, 150, 100, 50을 각각 추가로 주기 때문. 이 때문에 자신의 정확한 실력을 확인하려면 라운드를 최소 6번 쳐야 한다. 레이팅이 음수가 될 수도 있다.[23] 주기적인 점수 초기화도 없고 휴면 페널티도 없기에, 라운드를 치르지 않으면 한없이 그 레이팅을 유지시킬 수 있다.[24] 다만 마지막 라운드를 치른지 6개월이 지나면 순위표에서는 빠진다.

한국에서 IOI 국가대표, ICPC 월드 파이널 출전 팀의 코드포스 레이팅이 레드인 것을 생각하면, 레드 이상의 레이팅 등급을 가진 경우 국가대표급의 굉장한 실력자로 생각할 수 있다.

3.2. 문제의 레이팅

대부분의 문제에는 레이팅 태그가 달린다. 문제의 레이팅은 대략적으로 다음과 같은 의미를 갖는다.
레이팅이 x인 사용자가 레이팅이 y인 문제를 대회 중에 풀 확률은 다음과 같다:
P=11+10yx400P=\dfrac{1}{1+10^{\tiny\dfrac{y-x}{400}}}

문제의 레이팅은 2018년에 생긴 기능으로, 원래는 상한과 하한이 존재하지 않았지만 2020년 레이팅 계산 방식이 개편되면서 하한과 상한이 각각 800, 3500으로 설정되었다.

4. 문제점

4.1. 양민학살 문제

양민학살은 보통 고 레이팅 유저의 부계정이 div2나 div3 등 낮은 Division에서 높은 순위를 차지하는 행위를 말한다.[25] 공식적으로는 다중 계정의 사용이 금지되어 있지만,[26] 대놓고 치팅을 하지 않는 한 거의 단속되지 않고 있는 실정이다. 특히, div3/4에서는 Trusted Participant 제도가 있어서 대회에 5회 이상 참여하지 않은 계정은 순위표에서 제외되지만, 레이팅이 반영되는 것은 여전하다.

4.2. 수준 낮은 커뮤니티

코드포스에는 여러 게시판에 글과 댓글 작성이 가능하고, 이러한 곳에 자신이 추천/비추천과 비슷한 Vote, Downvote을 할 수 있는 기능이 있다. 문제는 이곳에서 특정 네임드 유저의 친목질 및 찬양, 비난과 무지성 Vote/Downvote 몰아주기가 난무하다는 것. 특히, 레이팅(색깔)에 따른 차별, 이른바 Ratism(Rating과 Racism을 합친 말)이 극심하다. 비슷한 발언을 해도 그레이는 Downvote 폭탄을 받고 작성한 댓글이 숨겨지는 반면[27], 퍼플/오렌지 이상의 고티어 유저는 다운보트를 적게 받는 일이 많다. 이러한 커뮤니티의 낮은 수준 때문에 정상적인 유저는 커뮤니티 사용을 하지 않고, 그렇지 않은 유저들만 남아 수준을 더 떨어뜨리는 악순환이 발생한 상태이다. 이 상황이 빠른 시간 내에 개선되는 것은 어려워 보인다.

이와 별개로 사용자의 문제가 아닌 시스템의 문제도 있는데, 게시글/댓글에 Upvote/Downvote를 하면 두 번 다시 Vote를 수정할 수 없고, 관리자에 의한 강제 삭제를 제외하면 댓글 작성 후 첫 2분 동안만 삭제가 가능하다.

5. 사건사고

수많은 대회가 열린 만큼 잡음이 있는 대회도 꾸준히 나온다. 대체로 서버 문제나 출제자 정해 오류, 아니면 난이도 때문에 논란이 생기는 경우가 많지만 그 외의 이유로 논란이 생기는 경우 그 대회의 임팩트는 매우 커지게 된다.
  • Codeforces Round 457
2018년 1월 19일 열린 Codeforces Round 457은 B번 정해 오류로 Unrated 되었다.
  • Codeforces Round 537
2019년 2월 4일 열린 Codeforces Round 537은 B번의 테스트케이스가 너무 약해 System Test에서 70% 정도의 코드가 터지는 일이 발생했다. 그밖에 A번의 테스트케이스도 약했고 D와 E는 너무 어렵게 출제되어 논란이 많았다. 이로 인해 CodeCraft는 3년 연속으로 테스트케이스가 약한 대회라는 불명예를 얻었으나 2020년부터는 큰 논란이 발생하지 않았다.
  • Codeforces Round 543
2019년 3월 4일 열린 Codeforces Round 543Technocup 2019 - Final을 기반으로 열린 대회인데 Codeforces Round보다 몇 시간 먼저 열린 본 대회 스트리밍이 Codeforces Round 이전에 외부에 유출되어 두 대회가 Unrated 되었다. 이때 스트리머는 운영진이 시킨 일을 했을 뿐이지만 운영진이 이를 스트리머의 책임으로 돌려 논란이 많았다.
  • Codeforces Round 571
2019년 6월 28일 열린 Codeforces Round 571은 B번 문제의 정해가 틀려 대회 중 잘못된 데이터로 채점이 진행되는 바람에 Unrated 되었다. 이 당시 B에 틀린 코드를 제출해서 푼 사람이 1000명이 넘었는데 이것이 또한 논란이 되었다.
  • Codeforces Round 637, 639
2020년 4월 23일 열린 Codeforces Round 637 (Div.1)과 5월 6일 열린 Codeforces Round 639 (Div. 1)은 두 Div. 1이 연속으로 Unrated 되는 기록을 세웠다. Unrated 사유는 각각 E번 정해 오류와 서버 과부하이다. 이중 Codeforces Round 637은 지금까지도 Codeforces에서 지문이 최악인 대회 중 하나로 손꼽히고, Codeforces Round 639는 5월 3일에 열릴 예정이었다가 서버 문제로 인해 3일 연기되었으나 3일간 서버 문제가 해결되지 않았고, 3일 후에는 또 대회가 있어서 대회를 한번 더 연기할 수가 없어 그냥 진행했다가 Long queue로 인한 Unrated를 피할 수 없었다.
  • Codeforces Round 657
2020년 7월 19일 열린 Codeforces Round 657은 Div. 2 Only임에도 불구하고 A부터 D까지의 레이팅이 *1500 - *1500 - *2000 - *2300이라는 궤멸적인 수준으로 출제되어 논란이 일었다. 결국 Russian olympiad 기반 대회의 난이도 잔혹사의 또 하나의 예시로 남게 되었으며 서버 과부하를 해결하기 위한 새로운 방법이 등장했다는 우스갯소리도 나왔다.
  • Educational Codeforces Round 95
2020년 9월 14일 열린 Educational Codeforces Round 95는 A번 정해 오류와 B번 체커 오류가 겹쳐 Unrated 되었다.
  • Codeforces Round 684
2020년 11월 17일 열린 Codeforces Round 684는 Div.1 A/Div. 2 C에 아이디어는 쉽지만 구현이 매우 힘든 문제가 나와 참가자들의 불만을 일으켰다.
  • Good Bye 2020
2020년 12월 30일 열린 Good Bye 2020은 A부터 F까지의 풀이 코드가 텔레그램으로 공유되었고 이를 통해 3000명 이상의 참가자가 이득을 보았다는 논란이 제기되었다.
  • Codeforces Round 707
2021년 3월 13일 열린 Codeforces Round 707 (Div. 1)은 A에 비둘기집의 원리, B에 중국인의 나머지 정리 문제를 배치하는 바람에 수많은 참가자들의 불만의 소리를 들었다. 물론 단순히 이 이유만으로 논란이 생기지는 않았고 Pretest가 약하다는 논란도 있었다.
  • Codeforces Round 745
2021년 9월 30일 열린 Codeforces Round 745에서는 Div.1 B/Div.2 D번 문제가 논란이 되었다. 이 문제는 [math(n)] 제한이 100이고 시간 제한이 2초로 출제되었으나 의도한 시간복잡도는 [math(O(n^5))]이었고 거기서 커팅을 잘 해서 통과시키는 것이 정해였다. 단순히 연산 횟수를 계산하면 2초에 100억이라는 수치가 나오기 때문에 제한시간 내에 통과한다고 장담하기 어렵다.
  • Codeforces Round 810
2022년 7월 24일 열린 Codeforces Round 810 (Div. 1)의 E번 문제가 다른 코딩 사이트의 문제를 의도적으로 베낀 것이 드러났다. 해당 문제는 매우 어려운 문제이지만[28] 중국의 대회에서 출제된 적 있어 중국 유저들 사이에서 매우 유명한 문제였고, 한 유저가 대회 도중에 관련 자료(Contest Materials)에 문제 원본의 링크를 올려 중국 유저들에게는 날먹이나 다름없는 문제가 되어 버렸다.[29] 결국 해당 대회는 Unrated 처리되었다. 동시에 열린 Div. 2는 정상적으로 레이팅이 반영되었다.
  • Codeforces Round 819
2022년 9월 8일 열린 Codeforces Round 819에서도 또다시 표절이 발각되었다. 이쪽은 여파가 크지 않았지만, 당연히 대회가 Unrated 처리된 것은 물론이고, 해당 세터는 영구 출제 금지 처분을 받았으며, 도용된 문제는 현재 채점이 불가능해졌다.[30]
  • Codeforces Round 846
2023년 1월 25일 열린 Codeforces Round 846은 C번 문제의 정해 오류로 인해 Unrated 되었다. 나머지 문제들의 퀄리티가 좋았기 때문에 어떤 측면에서는 안타깝다는 평이 많았다.
  • Good Bye 2023
2023년 12월 30일 열린 Good Bye 2023도 논란이 많았다. G번이 MCS 오류로 인해 재채점되었고 H번은 검색해서 푸는 것이 쉬워 일반적인 H에 비해, 그리고 F와 G에 비해 훨씬 많이 풀렸다. G와 H에 비하면 큰 문제는 아니지만 A는 32비트 정수 자료형을 쓰면 핵을 당하게 되어 있어서 핵도 많이 나왔다.

6. 확장앱

코드포스에서는 유저가 만들어놓은 유용한 크롬 확장앱이 많다.

6.1. Carrot

대회 중 실시간으로 레이팅 변화, 퍼포먼스를 알려준다.
대회창의 Standing에 들어가면 원래는 순위, 점수 푼 문제 항목밖에 표시되지 않지만, 이 확장앱을 깔면 퍼포먼스, 레이팅 변화, 다음 레이팅까지 남은 점수가 대회 중 실시간으로 표시된다. 또한 대회가 끝나면 다음 레이팅까지 남은 점수 대신 이 대회를 통해서 발생한 등급 변화를 보여준다.

퍼포먼스는 Π 문자로 표시되고, 퍼포먼스가 x점이라는 것은 레이팅 x인 사람들이 평균적으로 이 정도의 등수를 받는다는 것이다. 퍼포먼스에 따라 레이팅이 결정된다.


[1] 일반적으로 2시간[2] Virtual Participation은 한 대회 당 한 번밖에 할 수 없다.[3] 1023위 이내[4] 첫 대회는 2020년 5월에 있었다. 그리고 다시는 안 열리는 줄 알았으나 거의 2년 만에 두 번째 대회가 열렸다.[5] 0 ~ 1399라고 표시는 되어 있으나, 음수 레이팅도 레이팅에 영향이 있다.[6] Codeforces Contest Rules[7] 단위는 250점이다.[8] 단위: 분[9] 단위: 시간[10] 앞쪽 문제들의 Pretests 수는 대부분 10개 이하이며, 뒤쪽 문제들의 Pretests는 대체로 조금 더 많다.[11] 만약 어떤 참가자가 한 문제에서 Pretests passed 판정을 여러 번 받았을 경우 가장 나중에 제출된 것만 채점한다. 그 전의 제출은 모두 "Skipped" 처리가 되며, 마지막 제출이 System testing을 통과하지 못하더라도 그 전의 제출을 다시 채점하지 않는다.[12] 한국어로는 줄여서 시스페일이라고 한다.[13] 문제를 해결해도 Lock을 할 수 없는 한 가지 경우가 있는데, Subtask 문제 중 Easy와 Hard가 있는 경우 모든 버전을 해결해야 그 문제를 Lock할 수 있다.[14] 문제를 Lock하면 대회 중에는 더 이상 그 문제에 제출을 할 수 없다.[15] 대회 시작과 동시에 40명씩 모아서 구성된다.[16] 단위: 분[17] 부정행위자[18] 대회 이후에 레이팅이 일시적으로 롤백되는 경우도 있는데, 이 역시 치터를 처리하기 위함이다[19] 2022년 8월 17일 기준 6개월 이내에 Rated 대회를 한 번이라도 치른 순위표 등재 전체 유저 122,289명 기준.[20] 이 등급의 유저는 대회에 참가할 수 없지만 일반 유저가 중간에 관리자 권한을 얻은 경우 레이팅이 존재하기도 한다.[21] 일반적으로 누텔라라고 한다. 국내에서 이 등급을 달성한 유저는 단 7명이고, 전 세계로 범위를 넓혀도 100명 정도이다.[22] Rated 대회에 한 번도 참가하지 않은 계정. 한 번이라도 참가했다면 레이팅이 0 또는 음수라도 Newbie 등급이 된다.[23] 현재 Codeforces의 최고 레이팅 기록은 3979, 최저는 -89이다.[24] 위 그래프는 6개월 이상 라운드를 치르지 않은 유저는 제외시킨 그래프이기 때문에 등급 첫부분에 턱걸이로 걸치고 잠수한 유저의 수는 훨씬 많을 것이다.[25] 실제로 많은 div2 대회에서 1위를 Unrated, 즉 대회에 한 번도 참여하지 않은 계정이 가져가는 경우가 많으며, Top 5를 모두 현지인들이 가져가는 경우는 아예 없다고 봐도 된다.[26] 적발 시 횟수에 따라 대회 참가 무효화, 0점 처리, 일시적 또는 영구적으로 계정 정지 등의 페널티가 있다.[27] Downvote 10개를 받으면 반투명 상태가 되며, 25개를 받으면 숨겨지며 클릭해야 내용을 볼 수 있다.[28] solved.ac 기준 난이도가 Ruby III이다.[29] 대회 도중 D번을 푼 사람 수는 9명인 반면, E번을 푼 사람은 무려 171명이었다.[30] 제출 자체는 가능하지만, 정답 코드를 제출해도 3번째 테스트케이스에서 반드시 틀리게 되어 있어 더 이상 해당 문제를 맞힐 수 없다.