The Algorithm Competition is one of the most exciting events of the Topcoder Open. From Russia to Japan, Poland, and China, each year the Algorithm Competition is a battle of an incredibly smart and talented coders vying for the TCO Algorithm Championship and the $10,000 prize!
Winning the TCO Finals can be life changing and this year the Algorithm Competition is even more fierce!
The 2020 Topcoder Open Algorithm Competition (“Algorithm Competition”) will take place between October 1, 2019 and the Onsite Finals in the USA at a location TBD. The Algorithm Competition will consist of the Onsite Finals themselves and of three (3) ways to advance to the Onsite Finals:
three (3) online stages,
four (4) online rounds,
up to five (5) onsite regional rounds followed by one (1) online wild card round.
The competitor with the most TCO points from each online stage, the advancers from online round 4, and the advancers from the online wild card round will win a trip to the Tournament to compete in the Onsite Finals of the Algorithm Competition.
The Algorithm Competition is part of the Tournament, and by participating in the Algorithm Competition, you agree to these rules.
Competitors must be Topcoder members. There will be no additional registration required to compete in the Algorithm Competition.
Structure of Competition Rounds and Matches
Each Round and each Stage of the Algorithm Competition consists of one or more separate Matches. Each Match consists of three phases: Coding Phase, Challenge Phase, and System Testing Phase. The format of these Matches is similar to the format of Topcoder Single Round Matches. The rules in place for Single Round Matches as of October 1, 2019 will also apply to the matches in the online rounds of the Algorithm Competition. The same rules will apply to the matches in the onsite rounds, with the only exceptions being a different length of Coding and Challenge Phases.
The Coding Phase is a timed phase in which all Competitors are presented with the same three questions representing three levels of complexity and three levels of potential points. Points are awarded for each problem upon submission of a solution that successfully compiles. Points are calculated on the total time elapsed from the time the Competitor opened the problem until the time the Competitor’s successfully compiling submission was submitted. During the Online Rounds, the Coding Phase will last 75 minutes. During the Onsite Rounds, the Coding Phase will last 85 minutes.
The Challenge Phase is a timed phase wherein each Competitor has the opportunity to challenge the functionality of any other Competitors’ submission. If successful, the challenge will result in (i) the challenged Competitor losing any points awarded for the challenged submission, and (ii) a 50-point bonus for the challenging Competitor. If unsuccessful, the challenging competitor’s point total in that round of the Competition will be reduced by 25 points. During the Online Rounds, the Challenge Phase will last 15 minutes. During the Onsite Rounds, the Challenge Phase will last 10 minutes.
Before the start of each round, the Competitors will be randomly assigned to competition rooms. A Competitor is only able to challenge the solutions from the same room into which he/she is assigned. Each competition room will have a maximum of 25 Competitors.
The System Testing Phase applies to all submissions that have not already been successfully challenged. If the Topcoder System Test finds a flawed submission, the Competitor who submitted that submission will lose all of the points that were originally awarded for that submission. The System Testing Phase consists of applying a set of inputs to a submission. If the output from a Competitor’s submission is not correct, the submission is considered flawed and loses all points awarded. All successful challenges from the Challenge Phase will be added to the set of inputs for the System Testing Phase.
The Unused Code Rule is in effect for all Online and Onsite TCO rounds. This rule is a policy against including extra content into a submission that is not a part of the solution of the problem. For detailed description of the rule, please refer to chapter 8 here.
Online Stages Schedule
During each Stage, Contestants who participate in Tournament-eligible Algorithm Matches on the Topcoder website will receive TCO points for that Stage as outlined in these Rules.
Only Tournament-eligible Algorithm Matches which took place during the dates of an Online Stage shall be included in determining TCO points for that Stage.
All Tournament-eligible Algorithm Matches will be clearly marked on the active challenge listing page.
Algorithm Online Stages Dates
|Stage 1||October 1, 2019 - December 31, 2019|
|Stage 2||January 1, 2020 – March 31, 2019|
|Stage 3||April 1, 2020 - June 30, 2020|
Competition Scoring for Online Stages
Competitors will receive TCO points for their placement in each Tournament-eligible Match in which they participate:
1st Place: 5 points
2nd-10th Place: 4 points
11th-25th Place: 3 points
All other positive scores: 2 points
1st Place: 3 points
2nd-10th Place: 2 points
All other positive scores: 1 point
Advancing from the Online Stages
At the end of each online stage, the competitor with the highest total point accumulation for that stage will win an automatic advancement to the onsite championship rounds. The next 10 competitors with the highest total point accumulation for that stage with receive an automatic berth in online round 4 of the TCO competition.
In the event of a tie for any advancing position during the Online Stage, the tie will be resolved in the following manner:
The Competitors with the highest Algorithm Competition rating when the Online Stage ends will advance.
If a tie still remains, all remaining tied Competitors will advance.
In the event that a Competitor who has advanced to the onsite Championship Round is unable to attend it, Topcoder may choose to replace this Competitor with another Competitor or to take no action in this regard (thus reducing the total number of onsite Competitors). The choice is made at Topcoder’s sole discretion. In case of replacement choice, the right to attend is passed to the next Competitor who have accumulated the most points during the Online Stage.
Online Round 1
Automatic Berths – The 250 members who have the highest Algorithm competition rating as of April 16 12:00 UTC -4 and who meet all of the following criteria will receive an automatic berth into Online Round 2:
Competed in at least one rated Topcoder Algorithm event in last one year.
Competed in a total of at least three (3) rated Topcoder Algorithm events as a member at any time.
Meet all other Algorithm Competition and Tournament eligibility criteria.
All Competitors who do not receive an automatic berth and who meet all of the Algorithm Competition and Tournament eligibility criteria can compete for one of the remaining 1,500 spots in Online Round 2. Two (2) Matches (Match 1A and Match 1B) will be held in Online Round 1. The highest scoring 750 Competitors from each of these matches will advance to Online Round 2.
In case of a tie for any automatic berth into Online Round 2, each tied member will receive an automatic berth. Additional automatic berths awarded this way don't change the maximal number of Advancers from Matches 1A and 1B.
Competitors who have already advanced to Online Round 2 may not compete in future Matches of Online Round 1.
The schedule and details of the Online Round 1 are as follows:
|Match||Date||Max # of Competitors||Max # of Advancers|
|Match 1A||Saturday, April 18 at 12:00 UTC -4||All members who have not previously advanced – limited to the first 2,500 Competitors who register in the Arena||750|
|Match 1B||Wednesday, April 28 at 7:00 UTC -4||All members who have not previously advanced – limited to the first 2,500 Competitors who register in the Arena||750|
Online Rounds 2, 3, and 4
Online Round 2 consists of Matches 2A, 2B, and 2C. All Competitors who advance to Online Round 2 can compete in these Matches for the 600 spots in Online Round 3.
Online Round 3 consists of Matches 3A and 3B. All Competitors who advanced to Online Round 3 can compete in these Matches for 80 of the 120 spots in Online Round 4.
(The remaining 40 spots in Online Round 4 are awarded to Competitors who advance from Online Stages, as described above.)
Online Round 4 consists of a single Match. The top 10 Competitors who advance from Online Round 4 will advance to the Onsite Finals of the Algorithm Competition. Any competitor may only win a single advancement (and trip) to the Onsite Finals.
The schedule for the Online Rounds of the Algorithm Competition is as follows:
|Match||Date||Max # of Competitors||Max # of Advancers|
|Match 2A||Saturday, May 23 at 12:00 UTC -4||1,750||200|
|Match 2B||Tuesday, June 2 at 11:00 UTC -4||1,750||200|
|Match 3A||Thursday, July 9 at 07:00 UTC -4||400||40|
|Match 3B||Saturday, July 18 at 12:00 UTC -4||400||40|
|Match 4||Saturday, August 1 at 12:00 UTC -4||120*||11|
** The competitors eligible to compete In Online Round 4 include 40 advancers from the Online Stages.*
All times listed in UTC -4
Onsite Regional Rounds
Up to five (5) Onsite Rounds will be held around the world at TCO19 Regional Events. Competitors wanting to compete in one of the onsite regional rounds must be present at the event and bring their own laptop to compete. The top 10 scores from each Regional Onsite Round will advance directly to the Online Wild Card Round. Regional event dates and locations will be announced at a later date.
The number of onsite regional rounds is subject to change.
Online Wild Card Round
Once all the Onsite Regional Rounds are complete, there will be one Online Wild Card Round. The two (2) highest scorers from this round will win a trip to compete in the Onsite Finals.
|Match||Date||Max # of Competitors||Max # of Advancers|
|Wildcard Round Match||Date TBD||10 per an Onsite|
**Times listed in UTC -4.*
Scoring and Advancing during Online Rounds, Onsite Regional Rounds, and Online Wild Card Round
In each Online Round Match all Competitors are ranked according to their scores after the System Testing Phase. The specified number of Competitors with the highest scores advance to the next Round. To be eligible to advance from an Online Round Match, the Competitor must finish the Match with a point total greater than zero.
In the event of a tie for any advancing position other than a spot in the Onsite Finals, all tied competitors advance to the next Round and the number of eligible Competitors for that Round will be adjusted accordingly.
In the event of a tie for any spot in the Onsite Finals, the tie will be resolved in the following manner:
The Competitors with the highest Algorithm Competition rating immediately after Online Round 4 will advance. If a tie still remains, all remaining tied Competitors will advance.
In the event, when a Competitor who advanced to the Onsite Finals is unable to attend, Topcoder may choose to replace this Competitor with another Competitor or to take no action in this regard (thus reducing the total number of Competitors in the Onsite Finals). The choice is made at Topcoder’s sole discretion. In case of replacement choice, the right to attend the Onsite Algorithm Competition is passed to the next highest ranked competitor from the round in which the other competitor was unable to attend.
Onsite Finals Details
|Onsite Finals Matches||Date and Time|
|Semifinal Match 1||TBD|
|Semifinal Match 2||TBD|
The advancers into the Onsite Finals will be divided evenly into two (2) Semifinal Matches, each with up to eight (8) Onsite Algorithm Competitors. Four (4) highest-scoring Onsite Algorithm Competitors in each Semifinal Match will advance to the Championship Match. To be eligible to advance to the Championship Match, the Onsite Algorithm Competitor must finish the Semifinal Match with a point total greater than zero.
In the event of a tie in a Semifinal Match, all tied Algorithm Competitors will advance to the Championship Match.
The Championship Match will be a single match with up to eight (8) Onsite Algorithm Competitors. The results of the Championship Match determine the winners of the Algorithm Competition prizes and the Algorithm Competition Champion.
In the event of a tie in the Championship Round, the prize money will be distributed equally (rounded down to whole dollars if necessary) among the tied Onsite Algorithm Competitors.
Algorithm Competition Prizes
The Algorithm Competition will award monetary prizes to the Onsite Algorithm Competitors in accordance with the following table:
|Championship Match Winners||Prize|
Winners must be present at the onsite Awards Presentation to receive the prize.
The Algorithm Competition will also award prizes in the form of T-shirts (at most one per Contestant). T-shirts will be awarded to the following Contestants:
All advancers from each Online Stage
All Contestants who will have a positive score in at least one of the Matches in Online Round 3
These rules may change at any time with or without prior notice.