Congratulations to our Algorithm Champion,
About the Algorithm Competition
The matches are similar to Topcoder Single Round Matches (SRMs) and are available in four programming languages: Java, C#, C++, and Python.Each online and onsite round of competition consists of three phases: Coding Phase, Challenge Phase, and System Testing Phase.
Note: The format of these competition rounds is similar to the format of topcoder Single Round Matches.
The Algorithm Competition is part of the Tournament, and by participating in this Algorithm Competition, you agree to these rules.
RegistrationThere is no specific registration needed for the TCO17 Algorithm Competition. Competitors will only need to be a Topcoder member, and register for a competition round just prior to the start of it.
Algorithm Competition Round StructureEach Online and Onsite Round of the Algorithm Competition consists of three phases: Coding Phase, Challenge Phase, and System Testing Phase. (Note: The format of these competition rounds is similar to the format of topcoder Single Round Matches. The rules in place for Single Round Matches as of February 1, 2017 will also apply to the online rounds of the Algorithm Competition. The same rules will apply to 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 sets 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.
Qualification RoundAutomatic Berths – The 250 members who have the highest algorithm competition rating as of Friday, March 31, 2017 at 12:00 UTC -4 and who meet all of the following criteria will receive an automatic berth into Stage 2:
- Competed in at least one rated Topcoder SRM in 2017.
- 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.
In case of a tie for any automatic berth into Round 2, each tied member will receive an automatic berth.
Competitors receiving an Automatic Berth are not permitted to compete in the qualification rounds.
Advancement To Online Round 2 – All Competitors who do not receive an automatic berth, who meet all of the Algorithm Competition and Tournament eligibility criteria can compete for one of the remaining 2,250 spots in Online Round 2. Three (3) Online Rounds (1A, 1B and 1C) will be held and the highest scoring 750 Competitors from each of these rounds will advance to Online Round 2. Competitors who have already advanced to Online Round 2 may not compete in future Online Rounds of qualification round.
The schedule and details of the Online Qualification Rounds are as follows:
|Online Qualification Rounds||Time||Max # of Competitors||Max # of Advancers|
|Round 1A||Saturday April 1 at 12:00||All members who have not previously advanced – limited to the first 2,500 Competitors who register in the Arena||750|
|Round 1B||Saturday April 8 at 12:00||All members who have not previously advanced – limited to the first 2,500 Competitors who register in the Arena||750|
|Round 1C||Saturday May 6 at 12:00||All members who have not previously advanced – limited to the first 2,500 Competitors who register in the Arena||750|
*Times listed in UTC -4.
Online Rounds 2 and 3All Competitors who advanced to Online Round 2 can compete for one of the 120 spots in Online Round 3.
All Competitors who advanced to Online Round 3 can compete for one of the 10 spots in the Onsite Algorithm Competition. Two such rounds will be held and the highest scoring 5 competitors from each of these rounds will advance to the Onsite Algorithm Competition. Any competitor may only win a single advancement (and trip) to the championship round.
The dates and times of the Online Round 2:
|Online Round 2||Time||Max # of Participants||Max # of Advancers|
|Round 2A||Saturday May 20 at 12:00||Up to 2,500||40|
|Round 2B||Saturday July 8 at 12:00||Up to 2,500||40|
|Round 2C||Saturday July 22 at 12:00||Up to 2,500||40|
|Round 3A||Saturday August 5 at 12:00||Up to 120||5|
|Round 3B||Saturday September 9 at 12:00||Up to 120||5|
|Wildcard||Saturday September 10 2017 at 12:00||Up to 60||2|
Onsite Regional RoundsUp to six (6) Onsite Rounds will be held around the world at TCO17 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. The following regional events are confirmed and we may possibly have more.
|Regional Event Location*||Date|
|Austin, Texas, USA||April 29, 2017|
|Saint-Petersburg, Russia||May 7, 2017|
|Beijing, China||June 24, 2017|
|Bangalore, India||August 20, 2017|
|Warsaw, Poland||September 2, 2017|
|Pittsburgh, Pennsylvania, USA||September 8, 2017|
*We reserve the right to edit regional event quantities, locations, and dates as needed.
Online Wild Card RoundOnce 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 TCO17 Onsite Algorithm Finals!
*Times listed in UTC -4.
Scoring and Advancing during Online RoundsAfter each Online Round, a number of the highest scoring competitors across all rooms will advance to the next Online Stage (or to the Onsite Algorithm Competition). To determine a Competitor’s score during the Online Rounds, the total point values from all three phases of the round are added for each Competitor. The Competitors are then ranked in order of score, with the highest scoring Competitors advancing to the next stage. To be eligible to advance from an Online Round, the Competitor must finish this round of the Algorithm Competition with a point total greater than zero.
The structure of the Online Rounds is as follows:
Online Rounds 1A, 1B, 1C
Up to 2,500 Competitors will compete, with up to 750 of the highest scoring Competitors across all rooms advancing to Online Stage 2.
Regional Rounds 2A, 2B, 2C
Up to 2,500 Competitors will compete, with up to 40 of the highest scoring Competitors across all rooms advancing to Online Stage 3.
Online Rounds 3A, 3B
Up to 120 Competitors will compete, with the 5 highest scoring Competitors (from each round) across all rooms advancing to Onsite Algorithm Competition.
Onsite Regional Rounds
Up to 10 Competitors with the highest scores across all rooms will advance to the Online Wild Card Round.
Online Wild Card Round
Up to 70 Competitors will compete, with the 2 highest scoring Competitors across all rooms advancing to the Onsite Algorithm Competition.
NOTE: In the event of a tie for any advancing position during an Online Rounds, all tied competitors will advance to the next stage and the number of eligible Competitors for that next stage will be adjusted accordingly.
In the event of a tie for any advancing position, the tie will be resolved in the following manner:
- The Competitor with the highest rating for the Algorithm Competition immediately prior the start of Online Round 1A will advance. If a Competitor was unrated immediately prior the start of Online Round 1A, it is assumed that he/she had a rating of zero.
- If a tie still remains, all remaining tied Competitors will advance.
In the event, when a Competitor advanced to the Onsite Algorithm Competition 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 onsite Competitors). 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 another Competitor according to the following priority list (1st position in the list is highest priority, each next position is of lower priority than the previous one):
- 6th place finisher in round 3A
- 6th place finisher in round 3B
- 7th place finisher in round 3A
- 7th place finisher in round 3B
- And so on.
|Onsite Final Rounds||Date and Time|
|Semifinal 1||Sunday, October 22, 4:30 p.m. – 7:00 p.m.|
|Semifinal 2||Monday, October 23, 1:00 p.m. – 3:30 p.m.|
|Championship||Tuesday, October 24, 1:00 p.m. – 3:30 p.m.|
The Onsite RoundsThere will be two (2) Semifinal Round with up to six (6) Onsite Algorithm Competitors. Up to three (3) of the highest scoring Onsite Algorithm Competitors during each Semifinal Round will advance to the Championship Round. To be eligible to advance to the Championship Round, the Onsite Algorithm Competitor must finish the Semifinal Round with a point total greater than zero.
The Championship Round will be a single round with up to six (6) Onsite Algorithm Competitors. Final placement in the Championship Round is determined by comparing the total points of each Onsite Algorithm Competitor during the Championship Round. The winner of the Algorithm Competition will be the Onsite Algorithm Competitor with the highest point total during the Championship Round.
In the event of a tie in a Semifinal Round, all tied Algorithm Competitors will advance to the Championship.
In the event of a tie in a Championship Round, the prize money will be distributed equally among the tied Onsite Algorithm Competitors.
About the PrizesThe Algorithm Competition will award prizes to the Onsite Algorithm Competitors in accordance with the following table:
|Onsite Final Winners||Prize|
|All Round 3 Participants||TCO T-shirt (one per competitor)|
* Prizes will be awarded at the conclusion of the Championship Round. Winner must be present at the onsite Awards Presentation to receive prize.