OI Contests and Contest Formats

Contest Overview

The Olympiad in Informatics (English: Olympiad in Informatics, abbreviated: OI) is a subject competition widely held among middle-school students, similar in nature to competitions in physics and mathematics. OI examines contestants' ability to use algorithms, data structures, and mathematical knowledge to solve practical problems by writing computer programs.

There are many kinds of OI contests. In China alone, they include:

  • National Olympiad in Informatics in Provinces (NOIP)
  • National Olympiad in Informatics (NOI)
  • Winter Camp of the National Olympiad in Informatics (WC)
  • China Team Selection Competition for the International Olympiad in Informatics (CTSC)

International OI contests include:

  • International Olympiad in Informatics (IOI)

  • USA Computing Olympiad (USACO)

  • Japanese Olympiad in Informatics (JOI)

  • Asia-Pacific Informatics Olympiad (APIO)

    ……

For most contestants, each year's new season begins with the first round of CSP-J/S in September.

In China, the only language permitted in OI contests is C++ (C and Pascal were once also available, but support for both has been discontinued). Different contests specify different versions of C++. Contest problems are generally related to algorithms or data structures. Problem formats include traditional problems (the most common problems requiring specified input and output to files) and non-traditional problems (output-only problems, interactive problems, code-completion problems, and so on).

Contest Formats

OI Format

Contestants have only one submission opportunity. They cannot see the judging results during the contest, and scores are announced after the contest. Each problem has multiple test points, and contestants receive a corresponding score according to the number of test points passed by each problem; test points may also have partial scores, so points can be earned even if only part of the data is passed.

Self-evaluation Tool selfEval

Nowadays, some NOI-series contests provide the selfEval self-evaluation tool. selfEval is built into the customized national-contest version of NOI Linux. Since it was officially announced and put into use in NOI2023, selfEval has gradually been used in subsequent NOI national contests, APIO (China region), NOI Winter Camp, and so on. Contestants can use selfEval to test their programs on a set of test data (called pretest data) and receive feedback. Each contest specifies an upper limit on the number of self-tests (the upper limits were 50 for NOI2024 and 30 for NOI2025), and the pretest data is also invisible to contestants. Since the pretest data differs from the official test data, self-test results are only for debugging and cannot be regarded as official judging scores. When contestants conduct pretests multiple times on the same problem, the pretest data used is the same.

The second round of CSP-J/S, NOIP, the Provincial Team Selection Contest, and NOI all use the OI format.

IOI Format

Contestants have multiple submission opportunities during the contest. Submissions are judged in real time and results are returned; an incorrect submission incurs no penalty. Each problem has multiple test points, and contestants receive a score according to the number of test points passed by each problem.

APIO and IOI both use the IOI format. Domestic contests are also gradually moving toward the IOI format.

Codeforces (CF) Format

Codeforces is an online judging system that holds contests regularly.

Its contests are characterized by testing only part of the data (Pretests) during the contest and returning the results for all test points (System Tests) after the contest. Contestants can submit multiple times during the contest and are allowed to Hack other contestants' code (here, Hack means submitting test data that prevents another contestant's code from producing the correct answer). To Hack, a contestant must lock their own code (in other words, they cannot resubmit that problem during the contest). When Hacking, contestants are not allowed to copy another contestant's program to their local machine for testing; the source code is converted into an image.

Codeforces also provides another contest format called Extended ICPC (or ICPC+). In this format, all data is tested during the contest, but there is a 12-hour worldwide Hack period after the contest. During Hacking, contestants are allowed to copy contestants' programs to their local machines for testing.

Major Contests

CSP-J/S

CSP-J/S (English: Certified Software Professional Junior/Senior) is a non-professional software ability certification test established by CCF after NOIP was canceled in 2019. Before 2025, it was open to all ages, and was later changed to ages 12 and above.

CSP-J/S is divided into the Junior level (Junior, abbreviated CSP-J) and the Senior level (Senior, abbreviated CSP-S), with the contest schedule divided into a first round (generally in September each year) and a second round (generally in October).The first round is a written test examining computer theory, common operating knowledge, and basic algorithmic and mathematical knowledge; the second round is a computer-based test, with four problems in both the Junior and Senior groups. The Junior group has a 3.5-hour time limit, and the Senior group has a 4-hour time limit (except for CSP-S 2019, which used the old NOIP Senior format: two days, with three problems and 3.5 hours per day). All students aged 12 and above can register for the first round, and those with excellent results after a ranking-based selection may have the opportunity to participate in the second round.

Registration for the first/second round and filing problem appeals after the second round both require payment to CCF.

Both rounds rate and certify contestants' results by province according to ranking, dividing them into first, second, and third prizes.

NOIP

NOIP (English: National Olympiad in Informatics in Provinces, Chinese name: National Youth Olympiad in Informatics League) is an informatics contest organized by the People's Republic of China for middle-school students in China (including Hong Kong and Macao).

The old format used through 2018: NOIP was divided by contestant group into the Popularization Group and the Advanced Group; in 2018, the Junior Group was piloted in Shanghai. By stage, it was divided into a preliminary contest and a final contest. The preliminary contest examined some basic computer knowledge and algorithms, while the final contest was a computer-based test. It was generally held on the second weekend of November: on Saturday morning, the first Advanced Group test ran from 8:30 to 12:00 (3.5 hours, 3 problems); in the afternoon, the Popularization Group test ran from 14:30 to 18:00 (3.5 hours, 4 problems); and on Sunday morning, the second Advanced Group test ran from 8:30 to 12:00 (3.5 hours, 3 problems). The whole country used the same test paper, but the award rules were uniformly specified by CCF (the China Computer Federation) according to provincial circumstances, and announced on the official NOI website after the contest. The score thresholds for first prize differed slightly among provinces.

NOIP was suspended by CCF on August 16, 2019, and was announced to be restored on January 21, 2020. The NOIP format from 2020 onward differs from the past, specifically as follows:

  • The preliminary contest was canceled and replaced by the first round of CSP-J/S.
  • The Popularization Group was canceled and replaced by CSP-J. From then on, NOIP had only one group, aimed at contestants at the Advanced Group level.
  • The schedule was reduced from six problems over two days, with 3.5 hours per day, to four problems over one day, with a total of 4.5 hours.
  • Contestants must achieve a certain ranking in the second round of CSP-S to qualify for NOIP. The specific quotas differ among provinces. Provincial qualification for NOIP is related to the number of participants and their results in that province during the previous season.

Registering for NOIP and filing problem appeals do not require additional payment.

NOIP ranks contestants and awards prizes by province. As of 2019, contestants from most universities who won a provincial first prize in the Advanced Group could obtain eligibility for independent university admissions.

In January 2020, the Ministry of Education of the People's Republic of China issued the Opinions on Carrying Out Pilot Programs for Reforming Basic-Discipline Admissions in Some Universities. The opinions stated that, starting in 2020, independent university admissions would no longer be organized, and pilot programs for reforming basic-discipline admissions (the Strong Foundation Plan) would be carried out at some universities included in the Double First-Class initiative.

Provincial Team Selection Contest

The Provincial Team Selection Contest (abbreviated as Provincial Selection) is used to select representative teams from each province for national contests. It is generally held from January to April each year. The schedule generally spans two days, with 3 problems and 4.5 hours per day.

The problems for the Provincial Selection are decided independently by each province. Currently, many provinces are tending to set problems jointly.

The quotas for each provincial team have complicated calculation formulas and are generally related to previous results and the number of participants. Generally speaking, NOIP scores need to account for a certain proportion of the Provincial Selection criteria. According to the rules, junior-middle-school contestants can only be selected as Class E contestants and cannot participate in the selection for Classes A and B. There are 5 Class A contestants (at least 1 female); the other contestants enter Team B in order according to the given quota and their scores. The number of contestants from one school participating in NOI cannot exceed one third of the total number of Class A and B quotas in the province (rounded to the nearest integer); the highest-scoring female contestant who is selected for Team A is not counted toward this proportion (known as the 1/3 restriction or 1/3 elimination; see the official CCF explanation).

Since 2020, the NOI provincial-team selection has been centrally set and judged by CCF. Provinces capable of setting problems may set their own problems, but the selection method must be approved by CCF. Since 2024, the NOI provincial-team selection has returned to province-specific problem setting; provinces that need it may organize joint examinations or use problems from another province, but the specific plan must be approved by CCF.

NOI

NOI (English: National Olympiad in Informatics, Chinese name: National Olympiad in Informatics) is the highest-level contest for provincial representative teams in China, including Hong Kong and Macao.

NOI is generally held in July. Contestants are divided into official contestants and summer-camp contestants. Official contestants are further divided into three classes: Classes A and B are official provincial-team contestants, while Class C contestants are invitation-contest contestants. Classes A and B correspond to the provincial team's Class A and B contestants (Class A receives an additional 5 points when scores are calculated); Class C is nominally a reward quota for schools that have made outstanding contributions to CCF. Summer-camp contestants are divided into Classes D and E, corresponding to high-school and junior-middle-school contestants participating as unofficial contestants, respectively. If summer-camp contestants exceed the score threshold, they receive only a certificate of result and no medal (with the same score, their achievement carries somewhat less weight). The top 50 official contestants form the national training team and obtain qualification for recommendation-based admission.

On international platforms, it is sometimes called CNOI to distinguish it from other contests also called NOI.

CTT

CTT (English: China Team Training, Chinese name: IOI National Training Team Training) is a training and selection activity held every winter for contestants on the IOI national training team. It consists of 3–4 tests. In addition to members of the national training team, some contestants who achieved excellent results in that year's NOI may also participate in CTT under the name "Elite Training."

CTT, together with other processes such as regular assignments, forms the first stage of national-team selection. Since 2021, the top 30 contestants in the first stage have become the national candidate team and entered the second-stage selection (WC).

WC

WC (English: Winter Camp, Chinese name: National Youth Olympiad in Informatics Winter Camp) is an activity held every winter at the venue of that year's NOI. Although this activity is mainly used for training the national training team and selecting the national team, contestants who achieved good results in NOIP and the second round of CSP-S in the previous year may also participate as unofficial campers.

WC includes several days of training and tests. Test results are combined with results from previous stages to calculate the overall ranking of national-training-team contestants. Before 2020, there was only one test, and the test problems for the training-team contestants and unofficial campers were the same; the top 15 contestants in the overall training-team ranking became the national candidate team and participated in the final-stage selection (CTS, etc.). Since 2021, as CTS's national-team selection function was incorporated into WC, the candidate team's test has become two tests, while unofficial campers still take one test, and some of the test problems for unofficial campers overlap with those for the candidate team. The top 6 contestants in the candidate team by overall ranking enter the final interview, where 4 official contestants and 2 substitute contestants are selected to participate in that year's IOI.

APIO

APIO (English: Asia-Pacific Informatics Olympiad, Chinese name: Asia-Pacific Informatics Olympiad) is an informatics subject competition for middle-school students enrolled in schools in the Asia-Pacific region. CCF holds a mirror contest for the China region in early May each year. Training activities are held around the contest date.

APIO contestants may be divided into Class A and Class B. The top six Class A contestants (including ties) may participate in the selection for international APIO awards, while Class B contestants may participate only in the award selection for the China region.

CTS

CTS (formerly CTSC; English: China Team Selection Competition, Chinese name: China Team Selection Competition for the International Olympiad in Informatics) is used to select the national team (6 contestants) from the national candidate team (15 contestants) to prepare for that summer's IOI, including 4 official contestants and 2 substitute contestants. As with WC, contestants who achieved good results in NOIP the previous year may also participate (without taking part in the selection).

APIO and CTS both register contestants by province. Generally, the participants in APIO and CTS are determined according to NOIP results (the two contests are generally very close in time).

The 2020 CTS was suspended due to the pandemic, and that year's national training team was selected through NOI. Since 2021, the CTS selection process has been replaced by WC.

IOI

IOI (English: International Olympiad in Informatics, Chinese name: International Olympiad in Informatics) is an annual informatics competition for middle-school students from around the world. Each country has four contestants, and the contest is generally livestreamed. In the IOI format, each problem has Subtasks, and each Subtask corresponds to a certain number of points.

Subject Camps

Peking University (PKU)

  • Peking University Informatics Winter Experience Camp (PKUWC): held around the Winter Camp.
  • Peking University Informatics Experience Camp (PKUSC): generally held on campus in June. Since the contest is held in the school's computer room, the computer-room environment is Windows and the contest system is OpenJudge.
  • Peking University Summer Class for Middle-School Students (Informatics): held during the summer vacation and aimed at science-stream students in the second year of high school.

Tsinghua University (THU)

  • The Department of Computer Science's "middle-school to university transition" winter seminar and teaching activity: equivalent to the Informatics Winter Camp and sometimes abbreviated THUWC in English. It generally lasts two days; the mornings are for contests (the first day is a standard OI contest, and the second day is Tsinghua's original "engineering problem" contest), and the afternoons are for course training.

OI Contests in Other Countries and Regions

United States: USACO

Official website: http://www.usaco.org/

USACO may be the foreign OI contest most familiar to contestants in China (and perhaps also the foreign OI contest with the most Chinese editorials).

From winter to early spring each year, USACO holds one online contest each month. A contest lasts 3~5 hours.

According to the official website, USACO contests are divided into these four difficulty levels (there were three levels before the 2015~2016 academic year):

  • Bronze, suitable for programming beginners, especially students who have learned only the most basic algorithms (such as sorting and binary search);
  • Silver, suitable for students beginning to learn basic algorithmic techniques (such as recursion, search, and greedy algorithms) and basic data structures;
  • Gold, where students encounter more complex algorithms (such as shortest paths and DP) and more advanced data structures;
  • Platinum, suitable for contestants with solid algorithm-design abilities; Platinum can help them challenge themselves with complex and more open problems.

In China, the OJ platform with the most complete collection of USACO problems is Luogu.

Poland: POI

Official website: https://oi.edu.pl/

Official submission website: https://szkopul.edu.pl/p/default/problemset/

POI is the foreign OI contest most frequently practiced by many Provincial Selection contestants.

According to the POI official website, the process of POI is as follows:

  • First round: six problems (five before the 31st edition), an online contest;
  • Second round: one practice contest and two official contests; the practice contest has one problem, and each official contest has two problems;
  • Third round: one practice contest and two official contests; the practice contest has one problem, and each official contest has three problems.

In some years, a contest called ONTAK was held. Its official name was the POI training camp, corresponding to the domestic national training-team contest (CTT).

In addition, Poland holds an open contest called PA, meaning roughly "Battle of Algorithms." Its official website is https://potyczki.mimuw.edu.pl/.

Among domestic OJs, BZOJ currently has the most complete collection of POI problems.

Croatia: COCI

Official website (English): http://www.hsin.hr/coci/

Official website (Croatian): http://www.hsin.hr/honi/

This is a contest with a very broad range of difficulty, approximately from the Popularization level to the Provincial Selection level.

In the past, all COCI problems provided statements, data, editorials, and official solutions. Since the end of 2017, COCI editorials and official solutions stopped being updated. The updating of editorials and official solutions resumed in the 2019–2020 season.

Luogu, BZOJ, and LibreOJ each have a small number of COCI problems.

Japan: JOI

Official website: https://www.ioi-jp.org/

All JOI problems provide statements, data, editorials, and official solutions. The JOI Finals and Spring Training Camp of the past two years provided English statements, but not English editorials. The JOI Open of past years provides English statements and editorials.

The JOI process is:

  • Preliminary contest (Yosen)
  • Final contest (Honsen/JOI Final)
  • Spring camp (Spring Training Camp/JOI Spring Camp/JOISC)
  • Open contest (Correspondence Education/JOI Open Contest)

The preliminary contest has lower difficulty and has been divided into multiple rounds since the 2019/2020 season. The difficulty of JOI Final is approximately from Advanced − to Advanced +. The difficulty of JOISC and JOI Open problems ranges from Advanced to NOI −.

Most JOI problems can be submitted on AtCoder. More JOI problems (with Japanese statements) can be found on the JOI official website or AtCoder.

LibreOJ and BZOJ currently have problems from recent JOI Finals, JOISC, and JOI Open contests.

Russia: ROI

Official website: http://neerc.ifmo.ru/school/archive/index.html

Online submission website: https://contest.yandex.ru/roiarchive/ and Codeforces (some problems).

ROI (Russian: олимпиадная информатика, Chinese name: Russian Informatics Olympiad) is Russia's informatics contest.

The process is:

  • Municipal contest (Municipal Stage/Муниципальный этап)
  • Regional contest (Regional Stage/Региональный этап)
  • Final contest (Final Stage/Заключительный этап)

LibreOJ currently has translated problems from recent ROI Finals.

In addition, Russia's larger contests for middle-school students include:

  • Informatics Online Olympiad (Russian: Интернет-олимпиады по информатике)
  • All-Russian Team Olympiad for School Students in Informatics (Russian: Всероссийской командной олимпиады школьников)
  • Innopolis Open
  • Open Olympiad for School Students in Programming (Открытая олимпиада школьников по программированию)

Canada: CCC & CCO

CCC (Canadian Computing Competition) and CCO (Canadian Computing Olympiad) can be looked up, together with past problems and other information, on their official website.

You can submit CCC and CCO on DMOJ, which also has CCC editorials.

CCC Junior/Senior is close to the difficulty of the NOIP Popularization/Advanced Groups. Winning a gold medal at CCO may require approximately the level of a NOI Silver medalist.

Singapore: NOI SG

Official website: https://noisg.comp.nus.edu.sg/noi/

The full name is Singapore National Olympiad in Informatics, and it is also called NOI in the Singaporean context when there is no ambiguity. The contest is divided into an Online Qualification Contest and a Final Contest. Schools register for the online qualification contest, and contestants participate at their own schools and submit remotely over the network. Qualification-contest results are ranked only within each school; the top 5 nonzero-scoring contestants qualify to represent their school in the national final.

At present, domestic OJs have relatively few NOI SG problems. Past statements, test data, and official solutions can be found on the official GitHub account.

Taiwan Region: Informatics Olympiad

In the Taiwan region, informatics in OI is translated as "zixun" rather than the Mainland China translation "xinxi".

Contestants in the Taiwan region who want to participate in IOI need to go through these rounds of contests:

  • Regional Informatics Subject Ability Competition
  • National Informatics Subject Ability Competition
  • Informatics Training Camp (TOI)

Other Countries

Other International OI Contests

BalticOI

BalticOI is aimed at countries around the Baltic Sea. The participating countries of BalticOI 2018 included Lithuania, Poland, Estonia, Finland, and five other countries. The problems are difficult.

Except in 2017, BalticOI has published statements, test data, and editorials every year. BalticOI does not have a fixed official website; each year's organizer creates a new website. The official websites of past years can be found in this post.

LibreOJ currently has nearly ten years of BalticOI problems.

BalkanOI

BalkanOI is aimed at countries around the Balkans. The participating countries of BalkanOI 2018 included Romania, Greece, Bulgaria, Serbia, and eight other countries. The problems are difficult.

BalkanOI has published statements, test data, and editorials only in certain years. The official website is listed in this post.

CEOI

Some of the participating countries in CEOI 2018 overlapped with the two contests above, including Poland, Romania, Georgia, and Croatia. The problems are difficult.

CEOI publishes statements, test data, and editorials every year. The official website is listed in this post.

eJOI

eJOI stands for European Junior Olympiad in Informatics. Its participating countries include Russia, Armenia, Bulgaria, and Poland. The problems are relatively difficult.

eJOI publishes statements, test data, and editorials every year. The official website is listed in this post.

NOI

Warning

The competition introduced here is not the National Olympiad in Informatics.

NOI stands for Nordic Olympiads in Informatics.

Official website: http://nordic.progolymp.se

This contest began only in recent years and is aimed at the Nordic countries.

References

This content comes from OI Wiki: OI Contests and Contest Formats. See the original for authors and revision history. AIOJ has adapted the formatting, in-site links, and resource paths.

Content is shared under CC BY-SA 4.0 and SATA license; additional terms are governed by the original notice. Thanks to the OI Wiki authors and contributors; per the SATA terms, please visit the OI Wiki repository and star it to show your support.