logo

    TCO14 Logo black

    Congratulations to our Algorithm Champion,
    tourist

    About the Algorithm Competition

    TCO14-Algorithm-About-Content

    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 VB.NET. Competitors will be competing in rounds from March 21, 2014 leading up to the onsite Championship in San Francisco California. The top 24 competitors will win this fabulous trip to compete for cash prizes and bragging rights!

    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.)

    Rules

    The Rules

    The 2014 Topcoder Open Algorithm Competition (“Algorithm Competition”) will take place between March 10 and November 19, 2014. The Algorithm Competition will consist of three (3) online stages (divided into eight (8) online rounds), with up to twenty-four (24) of the highest scoring competitors winning a trip to the Tournament to compete in the onsite Semifinal, Wildcard 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. Notwithstanding the eligibility requirements in the Rules, residents of Iran are eligible to compete and advance to the onsite rounds of the Algorithm Competition. However, residents of Iran are not eligible to receive any prizes except for those awarded to competitors participating in the Onsite Semifinal, Wildcard and/or Championship Rounds of the Algorithm Competition.

    Registration

    Registration is open for the Algorithm Competition until Saturday, April 26 at 11:55 UTC -4.

    Each Competitor may only participate using one handle in the Algorithm Competition.

    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 March 10, 2014 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 register for the Tournament by Friday, April 4, 2014 at 12:00 UTC -4 who have the highest algorithm competition rating as of Friday, April 4, 2014 at 12:00 UTC -4* and who meet all of the following criteria will receive an automatic berth into Online Stage 2:

    • Competed in at least one rated topcoder SRM in 2014**.
    • Competed in a total of at least three (3) rated topcoder Algorithm events as a member at any time.
    • Registered for the Tournament by April 4, 2014 at 12:00 UTC -4.
    • Meet all other Algorithm Competition and Tournament eligibility criteria.

    In case of a tie for any automatic berth into Online Stage 2, each tied member will receive an automatic berth.

    Competitors receiving an Automatic Berth are not permitted to compete in Online Stage 1.

    * Topcoder SRM 615 will take place on Friday, April 4, 2014 at 07:00 UTC -4. Assuming that this match is rated, topcoder will first update ratings based on its results and then the updated ratings will be used to choose the members to receive automatic berths.
    ** This period includes all rated SRMs 603 to 615, inclusive.

    Advancement To Online Stage 2 – All Competitors who do not receive an automatic berth, who meet all of the Algorithm Competition and Tournament eligibility criteria and who have registered for the Tournament can compete for one of the remaining 2,250 spots in Online 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 Online Stage 2. Competitors who have already advanced to Online 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

    Online Qualification RoundsTimeMax # of CompetitorsMax # of Advancers
    Round 1ASaturday, April 12 at 12:00All members who have not previously advanced – limited to the first 2,500 Competitors who register in the Arena750
    Round 1BSaturday, April 19 at 12:00All members who have not previously advanced – limited to the first 2,500 Competitors who register in the Arena750
    Round 1CSaturday, April 26 at 12:00All members who have not previously advanced – limited to the first 2,500 Competitors who register in the Arena750

    *Times listed in UTC -4.

    Online Stages 2 and 3

    All Competitors who advanced to Online Stage 2 can compete for one of the 150 spots in Online Stage 3. Three (3) Online Rounds (2A, 2B and 2C) will be held and the highest scoring 50 Competitors from each of these rounds will advance to Online Stage 3. Competitors who have already advanced to Online Stage 3 may not compete in future Online Rounds of Stage 2.

    All Competitors who advanced to Online Stage 3 can compete for one of the 24 spots in the Onsite Algorithm Competition. Two (2) Online Rounds (3A and 3B) will be held and the highest scoring 12 Competitors from each of these rounds will advance to the Onsite Algorithm Competition. Competitors who have already advanced to the Onsite Algorithm Competition may not compete in future Online Rounds of Stage 3.

    For each of Online Rounds 2B, 2C and 3B, topcoder will organize a parallel round (with the same problems) where the Competitors who have already advanced 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.

    The dates and times of the Online Rounds of Stages 2 and 3 are as follows:

    Online Elimination RoundsTime# of Participants# of Advancers
    Round 2ASaturday, May 17 at 12:00Up to 2,50050
    Round 2BSaturday, June 7 at 12:00Up to 2,50050
    Round 2CSaturday, July 5 at 12:00Up to 2,50050
    Round 3ASaturday, July 26 at 12:00Up to 15012
    Round 3BSaturday, August 9 at 12:00Up to 15012

    *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.

    Online Rounds 2A, 2B, 2C

    Up to 2,500 Competitors will compete, with up to 50 of the highest scoring Competitors across all rooms advancing to Online Stage 3.

    Online Rounds 3A, 3B

    Up to 150 Competitors will compete, with up to 12 of the highest scoring Competitors 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 during an Online Round of Stage 3, 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):

    • 13th place finisher in Online Round 3A.
    • 13th place finisher in Online Round 3B.
    • 14th place finisher in Online Round 3A.
    • 14th place finisher in Online Round 3B.
    • It will continue in this manner until a Competitor is able to attend the Onsite Algorithm Competition.

    Onsite Rounds

    Onsite Final RoundsDate and Time
    Semifinal 1Tuesday, November 18 at 8:30 a.m. – 11:00 a.m.
    Semifinal 2Tuesday, November 18 at 12:30 p.m. – 3:00 p.m.
    Wildcard RoundTuesday, November 18 at 6:00 p.m. – 8:30 p.m.
    ChampionshipWednesday, November 19 at 12:30 p.m. – 3:00 p.m.

    The Semifinal, Wildcard and Championship Rounds

    There will be two (2) Semifinal Rounds with up to twelve (12) Onsite Algorithm Competitors. Up to three (3) of the highest scoring Onsite Algorithm Competitors during each Semifinal Round will advance to the Championship Round. The four next highest scoring Onsite Algorithm Competitors during each Semifinal Round will advance to the Wildcard Round. From the Wildcard Round the top two (2) highest scoring Onsite Algorithm Competitors during the Wildcard 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 and the Wildcard Round (if a competitor is in the Wildcard Round) with a point total greater than zero.

    The Championship Round will be a single round with up to eight (8) 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 or Wildcard round.

    In the event of a tie in a Wildcard Round, all tied Algorithm Competitors will advance to the Championship Round.

    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 T-shirts to the 350 Competitors with highest Ranks, where a Rank of a competitor is defined as the best taken place out of all Online Rounds of Online Stage 2 in which this Competitor achieved a score greater than zero. In case several Competitors are tied by Rank for the 350th place, then all tied Competitors will be awarded a T-shirt.

    The Algorithm Competition will award up to $24,350 in cash prizes to the Onsite Algorithm Competitors in accordance with the following table:

    Competitor(s)Prize
    1st place finisher* Algorithm Competition Champion$15,000
    2nd place finisher* in the Championship Round$3,500
    3rd place finisher* in the Championship Round$1,200
    4th place finisher* in the Championship Round$700
    5th place finisher* in the Championship Round$500
    6th – 8th place finishers* in the Championship Round$300 each
    3rd – 8th place finishers* in the Wildcard Round$200 each
    8th – 12th place finishers* in each Semifinal Round$100 each
    Up to 350 Competitors with highest Ranks during Online Stage 2 (as defined above)Limited edition 2014 Topcoder Open t-shirt

    * Prizes will be awarded at the conclusion of the Championship Round. Winner must be present at the onsite Awards Presentation to receive prize.