Congratulations to our Algorithm Champion,
About the Algorithm Competition
The Algorithm Competition, as part of the Topcoder Open, is a timed contest where all contestants compete online and are given the same problems to solve under the same time constraints. The competition is available in four programming languages: Java, C#, C++, and Python.
Competitors will be competing in rounds online leading up to the onsite Championship at Omni Severin Hotel in Indianapolis, Indiana, USA from November 8-10, 2015. The top 12 competitors will win this fabulous trip to compete for cash prizes and bragging rights!
The 2015 Topcoder Open Algorithm Competition (“Algorithm Competition”) will take place between April 25 and the onsite finals at Omni Severin Hotel in Indianapolis, Indiana, USA from November 8-10, 2015. The Algorithm Competition will consist of (2) online stages (divided into five (5) online rounds), up to four (4) regional rounds, and up to twelve (12) of the highest scoring competitors winning a trip to the Tournament to compete in the onsite Semifinal and/or Championship Rounds of the Algorithm Competition.
The Algorithm Competition is part of the Tournament, and by participating in this Algorithm Competition, you agree to these rules.
There is no specific registration needed for the TCO15 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 Structure
Each 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 April 11, 2015 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.
Online Stage 1
Automatic Berths – The 250 members who have the highest algorithm competition rating as of Thursday, April 9, 2015 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 2015.
- 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 Stage 2, each tied member will receive an automatic berth.
Competitors receiving an Automatic Berth are not permitted to compete in Online Stage 1.
Advancement To Stage 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 Stage 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 Stage 2. Competitors who have already advanced to Stage 2 may not compete in future Online Rounds of Stage 1.
The schedule and details of the Online Rounds of Stage 1 are as follows:
|Online Qualification Rounds||Time||Max # of Competitors||Max # of Advancers|
|Round 1A||Saturday, April 11 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 25 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 9 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.
Stages 2 and 3
All Competitors who advanced to Stage 2 can compete for one of the 160 spots in Online Stage 3. Four (4) Onsite Rounds (2A, 2B, 2C and 2D) will be held and the highest scoring 40 Competitors from each of these rounds will be eligible to participate in the Round 3. Competitors who have already advanced to round 3 may not compete in future Rounds of Stage 2. Attendance at a TCO15 Regional Event is not required, and competitors may opt to compete online instead.
All Competitors who advanced to round 3 can compete for one of the 12 spots in the Onsite Algorithm Competition. Two such rounds will be held and the highest scoring 6 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.
For Online Rounds 2B, 2C and 2D, Topcoder will organize a parallel round (with the same problems) where the Competitors who have already advanced to Round 3 will be able to compete. All of these parallel rounds are rated. Competitors in each online round must register in the Topcoder Competition Arena no later than five (5) minutes prior to the start of such round. For the regional rounds, Topcoder will organize a parallel round open to only those coders who attend the TCO15 Regional Event onsite. These regional parallel rounds will be rated, but will not qualify for advancement to the championship.
The dates and times of the Rounds of Stage 2:
|Regional Elimination Rounds||Time||# of Participants||# of Advancers|
|Round 2A||Sunday, May 31, 2015 at 8:00||Up to 2,500||40|
|Round 2B||Saturday, June 20, 2015 at 17:00||Up to 2,500||40|
|Round 2C||Saturday, July 18, 2015||Up to 2,500||40|
|Round 2D||Saturday, August 22, 2015 at 2:30||Up to 2,500||40|
*Times listed in UTC -4.
Scoring and Advancing during Online Rounds
After 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, 2D
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 160 Competitors will compete, with the 6 highest scoring Competitors (from each round) across all rooms advancing to Onsite Algorithm Competition.
NOTE: In the event of a tie for any advancing position during an Online Round of Stage 1 or Stage 2, 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):
- 2rd place finisher in round 3A
- 3rd place finisher in round 3B
- 4th place finisher in round 3A
- And so on.
|Onsite Final Rounds||Date and Time|
|Semifinal||November 10 at 10am|
|Championship||November 10 at 3pm|
The Onsite Rounds
There will be one (1) Semifinal Round with up to twelve (12) Onsite Algorithm Competitors. Up to five (5) of the highest scoring Onsite Algorithm Competitors during the 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 five (5) 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 Prizes
The Algorithm Competition will award up to $10,000 in cash prizes to the Onsite Algorithm Competitors in accordance with the following table:
|1st place finisher* Algorithm Competition Champion||$5,000|
|2nd place finisher* in the Championship Round||$2,000|
|3rd place finisher* in the Championship Round||$1,000|
|4th place finisher* in the Championship Round||$600|
|5th place finisher* in the Championship Round||$300|
|6th – 12th place finishers* in the Championship Round||$150 each|
* Prizes will be awarded at the conclusion of the Championship Round. Winner must be present at the onsite Awards Presentation to receive prize.