logo

    Congratulations TCO08 Algorithm Champion, jonmac

    algo-winner

    About the Algorithm Competition

    TCO08-Algorithm-About-Content

    The Algorithm competition, part of the 2008 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.

    Each online and onsite round of competition (including the Qualification Rounds) 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

    No purchase necessary to enter or win. Void where prohibited.

    Overview of the Tournament

    The 2008 TopCoder Open Algorithm Competition (“Algorithm Competition”) will take place between January 14 and May 15, 2008 and is part of the 2008 TopCoder Open (“Tournament”). It will consist of three (3) online qualification rounds, four (4) online elimination rounds and three (3) onsite final rounds: the Semifinal, Wildcard and Championship rounds. The prize purse for the Algorithm Competition is $70,000 in cash. Up to 72 competitors will win a cash prize and up to 300 competitors will receive a participatory prize for participating in Round 3. The top 72 competitors in the online rounds will advance to the onsite Semifinal round held at the Mirage Hotel and Casino in Las Vegas, Nevada, USA, on May 11 - May 15, 2008.

    Eligibility

    Each online and onsite round of competition (including the Qualification Rounds) 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.)

    TopCoder members meeting the following criteria are eligible to compete in the Algorithm Competition:

    • Must be at least 18 years of age (as of February 5, 2008); AND
    • Must currently be eligible for participation in TopCoder competition (i.e., not suspended from TopCoder).

    The Algorithm Competition is void in the Quebec province of Canada and where prohibited by applicable law. Residents of Cuba, North Korea, Sudan, or Syria are ineligible to receive prizes and are ineligible to attend the onsite rounds of the Algorithm Competition as competitors. 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 rounds of the Algorithm Competition.

    Employees of TopCoder, Inc. and of all Tournament sponsors, regardless of commitment date as sponsor, including any companies involved in the production (including prize suppliers), implementation and distribution of the Tournament and their advertising or promotion agencies, parent companies, service providers, agents, officers, subsidiaries or affiliates, or any other persons or entities directly associated with the Tournament and members of their immediate families (parent, child, sibling, and spouse of each) and/or persons living in the same household as such persons, are ineligible to participate in the Algorithm Competition. If a competitor’s employer signs on as an official sponsor of the Tournament after January 14, 2008, then that competitor will be disqualified from participating further in the Tournament. TopCoder members who are performing internships for any Tournament sponsor between January 14 and May 15, 2008 are also ineligible to participate.

    Those members who are eligible to compete in any of the four Tournament competitions will be permitted to participate in any/all of them online. However, in the event a competitor becomes a finalist in more than one competition and the onsite competition times overlap, the competitor must choose only one competition in which to participate as a finalist by March 26, 2008.

    In the event that a competitor is disqualified from any round, no other competitors will be added in his/her place. Except as may otherwise be set forth herein, the only exception to this is advancement to the onsite Semifinal round.

    Registration

    Registration for the Algorithm Competition will open at 9:00 AM EST on Monday, January 14, 2008 and will close at 5:00 PM EST on Friday, February 1, 2008. In order to be eligible to compete in the Algorithm Competition, competitors must register separately for the Algorithm Competition. There is no limit to the number of registrants for the Algorithm Competition; however each competitor may only register once.

    Qualification Rounds

    Automatic Berths - The 150 members who register for the Algorithm Competition with the highest algorithm competition rating as of Friday, February 1, 2008 who meet all of the following criteria will receive an automatic berth into Online Round 1:

    • Competed in a TopCoder Algorithm rated event between November 1, 2007 and February 1, 2008; and
    • Competed in a total of at least three (3) TopCoder rated events; and
    • Registered for the Algorithm Competition; and
    • Met all other Algorithm Competition and Tournament eligibility criteria.

    Qualification Spots - 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,650 qualification spots in the Algorithm Competition. Three (3) Qualification Rounds will be held and the top 550 scoring competitors from each Qualification Round will win a spot in Online Round 1. The competitors who receive an automatic berth into Online Round 1 will not be allowed to compete in any of the Qualification Rounds. Those competitors who have already qualified for the Algorithm Competition may not compete in future Qualification Rounds.

    The schedule and details of the Qualification Rounds are as follows:

    Qualification Rounds
    RoundDate and Time*Maximum # of ParticipantsMaximum # of Advancers
    Qual. Round 1Tuesday, February 5
    Reg: 6:00 PM - 8:55 PM
    START: 9:00 PM
    All members who have
    not previously qualified -
    limited to the first 1,650
    participants to register
    550
    Qual. Round 2Saturday, February 9
    Reg: 10:00 AM - 12:55 PM
    START: 1:00 PM
    All members who have
    not previously qualified -
    limited to the first 1,650
    participants to register
    550
    Qual. Round 3Tuesday, February 12
    Reg: 4:00 AM - 6:55 AM
    START: 7:00 AM
    All members who have
    not previously qualified -
    limited to the first 1,650
    participants to register
    550
    *All times are Eastern Standard Time (UTC/GMT -5). In the event that a round may not be held at the designated time for any reason, the round will be held the following day at the same time.

    The format for each Qualification Round will be the same as algorithm competitions held outside the Tournament and is outlined in the Competition Round Structure section. In order to advance to Online Round 1, a competitor must finish the Qualification Round with a point total greater than zero. At the conclusion of their qualification attempt, competitors will be rated based on their performance against other competitors in the same round. All qualifying competitors will be assigned seeds for the Algorithm Competition based on their Algorithm rating following the Qualification Rounds.

    In the event of a tie for any advancing position during the Qualification Round, the tie will be resolved in the following manner:

    1. By reference to the competitors’ algorithm competition rating (higher is better) prior to the Qualification Round.
    2. If a tie still remains, all tied competitors will advance to Online Round 1.

    Online Elimination Rounds

    Competitors in each online round must register for the round in the TopCoder Competition Arena no later than five (5) minutes prior to the start of the round. All start times are Eastern Standard Time (UTC/GMT -5). If a competitor does not participate, for any reason, in an online round to which he/she has advanced, it will be treated as an automatic loss in that round of competition.

    All competitors will be assigned to competition rooms based on ‘dartboard seeding’ (i.e., completely random). Each room will have a maximum of 25 competitors. The number of rooms in each round is (# competitors in the round)/25 (rounded up).

    The dates and times of the online rounds of competition are as follows:

    Online Rounds
    RoundDate and Time*Maximum
    # of Participants
    Maximum
    # of Advancers
    Online Round 1Saturday, February 16
    Reg: 10:00 AM - 12:55 PM
    START: 1:00 PM
    Up to 1800900
    Online Round 2Saturday, February 23
    Reg: 10:00 AM - 12:55 PM
    START: 1:00 PM
    900300
    Online Round 3Saturday, March 1
    Reg: 10:00 AM - 12:55 PM
    START: 1:00 PM
    300150
    Online Round 4Saturday, March 8
    Reg: 10:00 AM - 12:55 PM
    START: 1:00 PM
    15072
    * NOTE: All times are Eastern Standard Time (UTC/GMT -5). In the event that a round may not be held at the designated time for any reason, the round will be held the following day at the same time.

    Scoring and Advancing during Online Rounds

    After each Online Round, the highest scoring competitors from all rooms will advance to the next online round. Competitor advancement in all rounds is determined by comparing the total point values from all three phases of the round for each competitor. In order to advance, a competitor must finish each round with a point total greater than zero. The structure of the online rounds is as follows:

    Online Round 1

    Up to 1800 competitors will compete and up to the highest 900 scoring competitors across all rooms will advance to Online Round 2.

    Online Round 2

    Up to 900 competitors will compete and up to the highest 300 scoring competitors across all rooms will advance to Online Round 3.

    Online Round 3

    Up to 300 competitors will compete and up to the highest 150 scoring competitors across all rooms will advance to Online Round 4.

    Online Round 4

    Up to 150 competitors will compete and up to the highest 72 scoring competitors across all rooms will advance to the field of Semifinalists.

    NOTE: In the event of a tie for any advancing position during the online rounds, the tie will be resolved in the following manner:

    1. By reference to the total points acquired during the rounds of the Algorithm Competition in which all of the tied competitors were presented with the same set of problems (excluding the Qualification Round). The highest score advances.
    2. If a tie still remains, then by the competitor with the highest seed for the Algorithm Competition will advance.
    3. If a tie still remains, all tied competitors will advance to the next round.

    Competition Round Structure

    Each online and onsite round of competition (including the Qualification Rounds) 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 5, 2008 will also apply to the online and onsite rounds of the Tournament, with the exception of the Unused Code Rule during the onsite rounds.)

    The Coding Phase is a timed event in which all competitors are presented with the same three questions representing three levels of complexity and three levels of potential points. Points for a problem are awarded upon submission of any solution that successfully compiles. Points are calculated on the total time elapsed from the time the problem was opened until the time it 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 event wherein each competitor has a chance to challenge the functionality of other competitors’ code. A successful challenge will result in the challenged competitor losing any points awarded for the challenged submission and a 50-point reward for the challenging competitor. Unsuccessful challenges will reduce the challenging competitor’s point total in that round of competition 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.

    The System Testing Phase is applied to all submitted code that has not already been successfully challenged. If the TopCoder System Test finds code that is flawed, the author of that code submission will lose all of the points that were originally earned for that code submission. The test will consist of applying a set of inputs and expecting that the output from the code submission will be correct. If the output from a competitor’s submission does not match the expected output, the submission is considered flawed. The same set of input/output test cases will be applied to all code submissions for a given problem. All successful challenges from the Challenge Phase will be added to the sets of inputs for the System Testing Phase.

    Onsite Rounds

    Important Information

    Onsite Rounds
    Round of CompetitionDate and Time (Pacific Daylight Time)
    Semifinal Room 1Tuesday, May 13, 8:00 AM
    Semifinal Room 2Tuesday, May 13, 11:00 AM
    Semifinal Room 3Tuesday, May 13, 2:00 PM
    Wildcard RoundTuesday, May 13, 7:00 PM
    Championship RoundThursday, May 15, 10:00 AM

    Travel Confirmation

    All competitors who advance from Online Round 4 will travel to the Mirage Hotel and Casino in Las Vegas, Nevada, USA on Monday, May 12, 2008 to compete in the onsite rounds of the Algorithm Competition held on Tuesday, May 13. All onsite competitors must arrive at the Mirage no later than 5:00 PM EDT on Monday, May 12, 2008.

    All competitors must confirm their attendance at the onsite event no later than 5:00 PM EDT (UTC/GMT -4) on Wednesday, March 26, 2008, and must have acquired any necessary travel visas and know for certain that they can travel to the United States. If a competitor is required to travel from outside the United States, it is necessary for the competitor to show proof of a visa and/or passport by 5:00 PM EDT (UTC/GMT -4) on Wednesday, March 26, 2008. Competitors may email a copy of their documents to Jessie D’Amato Ford. Competitors who fail to meet this requirement will be replaced as an onsite competitor.

    Visa Assistance

    At the end of Online Round 1, TopCoder will issue visa invitation letters to competitors advancing to Online Round 2 upon the request of international competitors who may require such a letter. All competitors who advance beyond Online Round 1 will receive a visa invitation letter request form. As soon as a competitor fills out the form in its entirety and returns it to TopCoder, the visa letter will be mailed. Competitors have until 5:00 PM EDT (GMT/UTC -4) on Wednesday, March 12, 2008 to request a letter. Visas can take a significant amount of time to obtain in certain countries. It is in the best interest of competitors who need such a letter to request one well before the deadline. The cost of obtaining a visa is the sole responsibility of the competitor. See more information about travel visas.

    Travel Details

    TopCoder will provide air travel arrangements for each competitor. The flight will be reserved and paid for by TopCoder and will be for arrival on May 12, 2008 and departure on May 15, 16 or 17, 2008, whichever is most cost-effective. At TopCoder’s sole discretion, TopCoder will pay for each competitor’s airfare up to $1,500, but reserves the right to make exceptions to the maximum amount based on individual circumstances. If a competitor wishes to take a flight other than the one provided by TopCoder and/or wishes to stay at a hotel other than the Mirage, or wishes to stay additional nights at the Mirage or another hotel, the competitor shall be responsible for the entire cost of such deviation from the accommodations and travel arrangements provided by TopCoder. In addition, competitor agrees to reimburse TopCoder for any costs, penalties, fines or fees incurred by TopCoder as a result of such deviation.

    Ground transportation to and from McCarran International Airport will be provided for each competitor by TopCoder, as well as hotel accommodations and certain meals. All other expenses are the responsibility of the competitor. TopCoder will not provide travel or lodging accommodations for any guests of a competitor.

    Competition Room Assignments

    TopCoder will determine the assignments for rooms during the Semifinal round prior to the start of such round, in the following manner:

    All competitors will be arranged by their tournament seed. Starting with the highest seeded competitor and proceeding in order, a competitor will be assigned to room 1, then room 2, then room 3, then room 3 again, then room 2, then room 1. This pattern will continue (1, 2, 3, 3, 2, 1) until all competitors are assigned to a competition room.

    The Semifinal Round will consist of three (3) rooms with twenty-four (24) competitors per room. The three (3) highest scoring competitors in each room will advance to the Championship Round. The next four (4) highest scoring competitors in each room will participate in one (1) Wildcard Round. The highest scoring competitor of the Wildcard Round will also advance to the Championship Round.

    The Championship Round will be a single round with ten (10) competitors. Placement in the Championship Round is determined by comparing the total points of each competitor during the Championship Round. The winner will be the competitor with the highest point total for the Championship round.

    In the event of a tie in the Semifinal, Wildcard and/or Championship Rounds, the tie will be resolved in the following manner (in order):

    1. Total points acquired by a competitor (higher is better) during Online Rounds 1, 2, 3 and 4 of the Algorithm Competition.
    2. If a tie still remains, then by the competitor’s algorithm competition rating (higher is better) following Online Round 4.
    3. If a tie still remains in the Semifinal or Wildcard Rounds, then all tied competitors will advance to the Championship Round.
    4. If a tie still remains in the Championship Round, then the prize money will be distributed equally among the tied competitors.

    About the Prizes

    The Algorithm Competition will award prizes to up to 300 competitors participating in Online Round 3 and $70,000 in cash prizes to the competitors who compete in the Onsite Rounds. Any and all applicable taxes on prizes are the sole responsibility of the prizewinner. Prizes will be distributed as follows:

    Prizes
    Competitor(s)Prize
    1st place finisher* - Algorithm Competition Champion$15,000
    2nd place finisher* in the Championship Round$8,000
    3rd place finisher* in the Championship Round$6,000
    4th place finisher* in the Championship Round$4,000
    5th - 10th place finishers* in the Championship Round$1,000 each
    11th - 72nd place finishers* in the Semifinal Rounds$500 each
    Up to 300 competitors who participate in Online Round 3Limited edition 2008 TopCoder Open t-shirt
    * Prize will be awarded at the conclusion of the Championship Round. Winner must be present at the onsite Championship announcement to receive prize.

    Conditions of Participation

    By participating in the Algorithm Competition and the Tournament, you agree to be bound by these rules and to all decisions of TopCoder, which are final, binding and conclusive in all matters. Also, by participating in the Algorithm Competition and the Tournament, you consent to provide certain information to the Tournament sponsors. Such information shall include the information contained in your TopCoder member profile, as well as your competition statistics.

    Competitors must not cheat. All ideas for code and/or challenges submitted must be the competitor’s alone. TopCoder uses the word “cheat” to mean collaboration of any sort - including, but not limited to, working with another competitor, submitting code that was not fully authored by you, and using resources, software, etc. that are not allowed in TopCoder competitions, the Algorithm Competition, and/or the Tournament. TopCoder reserves the right, in its sole discretion, to remove any competitor from the Algorithm Competition whom it suspects of cheating.

    If a competitor is eliminated for cheating after he/she is confirmed as a finalist and travel accommodations have already been made for the competitor by TopCoder for the onsite finals, that competitor will be responsible for reimbursing TopCoder the cost of such accommodations. TopCoder reserves the right to withhold any cash prizes earned or owed until the cost of such accommodations has been full reimbursed.

    All decisions relating to the viability of submissions, the ranking of submissions and all other matters pertaining to the Algorithm Competition and/or the Tournament are within the sole discretion of TopCoder or its designee and are final and binding in all respects.

    Competitors who win a t-shirt will be notified via e-mail within 10 days of the completion of Online Round 2 that they have won a prize.

    Finalist (Online Round 4 Advancer) Information

    All competitors who advance to the Onsite Rounds must complete the following items and submit them to TopCoder by 5:00 PM EDT (UTC/GMT -5) on Wednesday, March 26, 2008:

    • Confirmation of attendance/proof of travel documents - Please email Jessie D’Amato Ford to confirm your attendance onsite. If you require a passport and/or visa to visit the United States, you must show proof of your documents via a scanned copy of the necessary documents.
    • Please submit a photo, if you have not already done so.
    • Please ensure your most up-to-date information is listed in your TopCoder profile in the event we need to mail your plane tickets or contact you via telephone.
    • Competitor Questionnaire - the questions and responses may be published in the 2008 TopCoder Open program
    • Travel form - provides TopCoder with the appropriate travel information for your trip to the onsite tournament rounds
    • Affidavit of Eligibility and Liability and Publicity Release - TopCoder must receive the original copy of a notarized affidavit unless a notarized affidavit is already on file with TopCoder. The document must be postmarked by March 26, 2008, and must be sent in such a manner that it will arrive at TopCoder no later than April 26, 2008.
    • If TopCoder already has a notarized affidavit and/or tax form on file, that competitor may affirm such document online.
    • Applicable tax form (unless one is already on file with TopCoder)

    A competitor who fails to submit the above items on time will not advance to the onsite rounds and will be replaced by the competitor with the next highest score from Online Round 4.

    Except as otherwise provided in these rules, all prizes (cash prizes and participatory prizes) will be sent within 60 days of the completion of the Championship Round. Prizes which remain unclaimed or undeliverable for a period of six (6) months will be forfeited. Competitors who do not submit the required information by the applicable deadlines forfeit their prizes.

    As a condition of participation in the Tournament and the Algorithm Competition, all information provided by you in your TopCoder member profile must be accurate and up-to-date. TopCoder may require you to complete an additional registration form to register for the Algorithm Competition. In order to be eligible to participate in the Algorithm Competition, you must have completed any and all registration forms required by TopCoder.

    As a condition of winning and redeeming a cash prize, certain competitors will be required to submit a completed (i) Competitor Questionnaire, (ii) Affidavit of Eligibility and Liability and Publicity Release, unless a notarized copy is already on file with TopCoder (iii) IRS Form W-9 or W-8BEN, as appropriate if one is not already on file with TopCoder, and (iv) Travel form. In completing the Affidavit of Eligibility and Liability and Publicity Release, a competitor who wins a cash prize (a) confirms his/her eligibility, (b) represents and warrants that he/she has not cheated, © verifies the accuracy of the demographic information submitted to, and contained in, the TopCoder member database, (d) authorizes TopCoder to publicize the Algorithm Competition’s results, (e) agrees to sign any applicable forms required by tax authorities, (f) licenses to TopCoder rights to all information submitted during the Algorithm Competition (including rights to source code and other executables), and (g) releases TopCoder from liability arising out of any prize won. TopCoder requires competitors to complete the Form W-9 or W-8BEN for tax reporting purposes. Providing false information in the registration process or in the required forms described in this paragraph will result in a forfeiture of a cash prize.

    By participating in the Algorithm Competition and redeeming a prize, a winning competitor releases and agrees to hold harmless TopCoder, its affiliates, subsidiaries, advertising and promotion agencies, sponsors, and prize suppliers, and all of their respective directors, officers, employees, representatives and agents, from and against any and all liability for any loss, property damage or damage to person, including without limitation, death and injury, due in whole or in part, directly or indirectly, from or arising out of participation in the Algorithm Competition and the Tournament, or participation in any Algorithm Competition or Tournament-related activity, or the receipt, use or misuse of a prize. TopCoder specifically disclaims all liability associated with, and makes no warranties with regard to, any prize given.

    In addition, all competitors receiving a prize agree to cooperate with TopCoder’s publicity efforts, without further compensation. This includes the agreement to use their name, handle, address (city and state) and likeness for publicity purposes, where legal, for this or similar events in the future, and to use the statements made by, or attributed to, the competitor relating to TopCoder and any and all rights to said use, without further compensation. Furthermore, all competitors winning prizes agree to promptly notify TopCoder if a third-party, including any Algorithm Competition or Tournament sponsors, contacts the prizewinner regarding employment opportunities and/or media interest as a result of the competitor’s participation in the Algorithm Competition or the Tournament.

    TopCoder reserves the right, in its sole discretion, to revoke any and all privileges associated with competing in the Algorithm Competition or the Tournament, and to take any other action it deems appropriate, for no reason or any reason whatsoever, including if TopCoder suspects competitors of cheating, tampering with the entry process, the operation of the Web site, or the competition process, or otherwise being in violation of the rules. TopCoder reserves the right to cancel, terminate or modify the Algorithm Competition and/or Tournament if it is not capable of completion as planned for any reason, including infection by computer virus, bugs, tampering, unauthorized intervention or technical failures of any sort, or for any other reason.

    Other

    The Algorithm Competition and the Tournament are void in whole or in part where prohibited by law.

    A list of Algorithm Competition and Tournament winners by handle will be available on the web site at http://www.topcoder.com/tc, and will be displayed for at least 3 months after the completion of the Algorithm Competition and the Tournament.

    The Algorithm Competition and the Tournament are brought to you by TopCoder, Inc. (www.topcoder.com), 95 Glastonbury Boulevard, Glastonbury, CT 06033.