Mechanics

Eligibility of Participants

A single proper team consists of three (3) team members, each of which is an undergraduate student from a degree program at the sponsoring institution, has not graduated and is currently officially enrolled at the time of the contest. For institutions who have not started the semester, participants must have been enrolled during the last academic grading period. Note that all team members must be from the same institution. Alternates WILL NOT be allowed.

The contestants must be Filipino citizens or officially enrolled at a sponsoring institution in the Philippines at the time of the contest.

Contestants will be required to submit a valid school ID in order to be eligible for the In-Person Final Round. If school ID is unavailable, contestants must provide proof of school registration showing their name and student number along with 2 valid IDs.

Registration

Teams must register through the provided registration form. Only 1 member of the team needs to submit the registration for the entire team.

Ensure that you have access to the email(s) you provide and that they are regularly checked, as further instructions for the Online Elimination Round as well as the In-Person Final Round will be communicated through the email provided.

The team must have valid Codeforces accounts and a Codeforces team to register. Instructions for submitting these details will be communicated through the email you have provided in the registration form.

Note that:

  • You may register for an account at https://codeforces.com/
  • You must set your first name and last name in https://codeforces.com/settings/social to your real name before submitting or updating your registration.
  • You may create a team at https://codeforces.com/teams/new and invite your team members
  • You must join as a Codeforces team that only consists of your teammates
  • Your team name must not contain any profanity or explicitly inappropriate references (i.e., sexual, political, religious). Invalid team names will be asked to be changed by the organizers.
  • You must not change your username or team name for the duration of the competition

There is no limit to the number of teams that may register per school, but the number of finalists may be limited to 3 (details seen below under "Invitation to the In-Person Final Round").

Contest Structure

The competition will be split into two rounds:

  1. The Online Elimination Round
  2. The In-Person Finals Round

Problem statements will be written in English only. Communication with judges (clarifications, etc.) will also be in English.

Online Elimination Round

Prior to the event, a free-to-enter Online Elimination Round will be held online on Codeforces. The Online Elimination Round will consist of at least ten (10) problems and will be open from February 16, 2024 at 8:00 pm to February 26, 2024 at 8:00 pm with the expectation that the contestants will solve the tasks during their free time.

It is forbidden to use someone else's code and to communicate about the problems with anyone apart from your own team members.

All programming languages supported by Codeforces are allowed for the Online Elimination Round. Note, however, that the languages available for the In-Person Final Round will be limited to C++, Java, and Python 3 (details seen below under "Contest Environment").

Clarifications pertaining to the problems must be filed by the contestant using the clarification system made available in Codeforces.

The team must use the same Codeforces team name and Codeforces accounts submitted to the Algolympics Team.

Invitation to the In-Person Final Round

The organizers will accommodate a maximum of twenty (20) teams for the contest.

A team that:

  • satisfies all eligibility criteria,
  • has not been disqualified,
  • has confirmed willingness and ability to attend the In-Person Final Round,
  • is among the top three (3) placing teams in the Eliminations Round from their academic institution AND is among the top twenty (20) teams who accepted the invitation to the In-Person Final Round.
  • solved at least nine (9) problems correctly during the Eliminations Round

will be given an invitation to the In-Person Final Round.

It should be noted that academic institutions that are constituents to a singular university system are treated INDEPENDENTLY from one another, and are considered as separate “schools.”

Once invited, the team must confirm their attendance by responding to the invitation on or before the specified deadline. Failing to confirm by the deadline will be considered equivalent to declining to attend.

Every time a team that has been invited is disqualified or declines to attend the In-Person Final Round, invites may be given to newly qualifying teams as per the criteria above, in a top-down approach. For instance, if the Top 20th team qualifies for the Finals Round, but refuses to participate, the steering committee will proceed to screen the eligibility of the Top 21st team.

If such a situation arises that there are extra slots for another team to participate and no other team can qualify, additional teams from a university that has reached the maximum number of teams may be given an invitation.

In-Person Final Round

The In-Person Final Round will be on April 6, 2024, from 8:00 AM to 8:00 PM. The full program is included in the official invitation letter, which will include the opening ceremony, company talks, schedule for the practice round, and awarding.

Each team is required to pay a registration fee amounting to Php 250 per person to be paid before the In-Person Final Round.

This fee may be paid through GCash, Paymaya or some other methods which we will announce in a timely manner. Options outside of these may also be considered; please contact us.

Contest Environment

The programming languages for the In-Person Final Round will be restricted to the following languages:

  • Java (OpenJDK "11.0.4")

    • javac {filename}
    • java -Xss128m -Xmx960m -Xms960m {filename_base}
  • C++ (G++ 7.4.0)

    • g++ -std=gnu++17 -O3 -o {filename_base}.exe {filename}
    • ./{filename_base}.exe
  • Python 3.7.0

    • python3 -m py_compile {filename}
    • python3 {filename}

Note that we can only guarantee that all problems are solvable in C++ and Java.

Each team may have up to one computer (one monitor) per participant.

A participant will be permitted to use the following software throughout the duration of the contest:

  • Web Browsers
  • IDE and Text Editors
  • Spreadsheet Software
  • PDF File Readers
  • Calculator

Contestants are allowed to submit reference material for use during the contest proper, according to the following limitations:

  • Contain up to 20 pages of reference material, typed on single-sided Letter (8x11 inches) or A4 size paper (210x297mm), with pages numbered on the upper right hand corner.
  • May contain algorithms, code listings, hints, or any other notes.
  • Each team member may have an exact copy of the reference material.
  • The document must have the name of the institution and team on the first page, and must be in PDF form.

All materials and installation will be checked before the contest proper. Final reference material must be submitted at least a week before the contest. No hard copies need to be printed. Approved reference material will then be sent to participants on the day of the event. Participants are allowed to have scratch papers that are completely blank. These papers will be checked by proctors before the start of the contest.

Apart from the approved reference material, no other materials are allowed. Electronic devices, such as physical calculators, handheld gadgets, and smart watches are similarly not allowed.

Contestants are expected to switch off all communication devices aside from those needed for Algolympics.

A live scoreboard will be available for contestants. The scoreboard will be frozen one (1) hour before the conclusion of the contest.

Setup

Each computer in the contest environment is outfitted with a Linux operating system with the Ubuntu 22.04 distribution. Each team shall be assigned to a Computer Laboratory within the contest grounds, which will be prepared by the UP ACM Team. The room assignments for each team shall be announced on the day of the Finals event. There will be different seat assignments for the Practice Round and the Finals Round.

For each team, there will be ONE dedicated computer where contestants may use for coding. Each team will be provided a soft and hard copy of the problem set, as well as a hard copy of their approved reference material.

House Rules for In-Person Final Round

  1. Lab facilitators should accompany contestants when they need to leave the competition grounds.
  2. Bags should be left with their coaches/accompanying guardian and not be brought inside the labs.
  3. Scratch papers and pens will be provided during the competition proper.
  4. Eating inside the laboratories is not allowed.
  5. Lunch and snacks will be provided in front of the lecture hall.
  6. No electronic devices are allowed during the competition proper, this includes calculators and cell phones.
  7. No storage devices (USBs, External Hard Drives etc.) are allowed.
  8. Contestants are not allowed to bring any machine readable versions of software or code to the contest area.
  9. After the competition, participants are to accomplish the post-evaluation forms before they leave the competition grounds.
  10. Fair Play - Any form of cheating or dishonesty during the competition will not be tolerated. Teams who are caught cheating or attempting to cheat will be automatically disqualified. Moreover, any act that jeopardizes the competition (e.g. hacking or tampering with equipment, distracting behavior, etc.) is not allowed and will result in disqualification. All teams are expected to uphold the spirit of sportsmanship and fair play.
  11. The organizing committee is not liable for any damages and loss suffered for taking part or not being able to take part in the competition.
  12. The competition organizers reserve the right for rule changes anytime and inform the teams before the implementation.

Proctoring

The contest will be proctored in person, and participants are required to be in the Department of Computer Science (DCS) Labs on the day of the event. During the entire competition proper, proctors will be monitoring participants at all times. Competitors must notify proctors before leaving the competition grounds (the laboratory rooms) to avoid possible disqualifications. Competitors will be accompanied by a proctor when leaving the competition grounds. Proctors do not have the right to disqualify a team if they violate any of the house rules specified in the House Rules for In-Person Final Round section. If any violation has occurred, the matter will be escalated to the required personnel for further discussion and evaluation. Note that proctoring guidelines may be modified. Changes will be communicated to all registered participants in a timely manner.

In-Person Finals Contest Proper

The contest will have at least eight (8) problems to be solved in the allotted time of five hours. The length of the contest may be altered in the event of unforeseen consequences. Should the contest duration be altered, every attempt will be made to notify contestants in a timely and uniform manner.

Submissions for judging from the teams are called runs. Submissions will be handled using the programming contest management system DOMjudge. Each run will be judged by the judges as either accepted or rejected, using the machines as specified below, and the team will be notified of the results. A rejected run will be reported as one of the following:

  • compilation error (the program failed to compile)

    • includes compile time limit exceeded errors,
    • includes compile memory limit exceeded errors,
  • runtime error (program terminates improperly during runtime)

    • includes memory limit exceeded errors,
    • includes stack limit exceeded errors,
  • time limit exceeded (program runtime exceeds the time limit for the problem),
  • wrong answer (output not correct according to the problem checker/grader), or

    • includes presentation errors (minimal errors in formatting, such as extra spaces)

Teams can also submit clarification requests to the judges using the clarification system made available as part of the contest system.

If the clarification is deemed valid, the judges will send clarification reports to the team who submitted the request. The judges may also send the report to all the participating teams if deemed necessary.

Judge Machine Specifications

  • Ubuntu 18.10
  • 2 vCPUs
  • 4 GB Memory
  • Custom 2nd generation Intel Xeon Scalable Processors (Cascade Lake) with a sustained all core Turbo frequency of 3.6GHz and single core turbo frequency of up to 3.9GHz or 1st generation Intel Xeon Platinum 8000 series (Skylake-SP) processor with a sustained all core Turbo frequency of up to 3.4GHz, and single core turbo frequency of up to 3.5 GHz.

Note that these machine specifications may be subject to change.

Scoring

Teams are ranked according to the following criteria:

  • Teams are ranked according to the most problems solved.
  • Teams who solve the same number of problems are ranked according to the least penalty (defined below).
  • Teams who solve the same number of problems and have the same penalty are ranked according to the least time of the first accepted run.

The penalty is defined differently for the Elimination and Final Rounds.

  • For the Elimination Round, the penalty is defined as the time of the first accepted run for the problem that was solved last.
  • For the Final Round, the penalty is defined as the sum of the time consumed for each problem solved. The time consumed for a solved problem is the time elapsed from the beginning of the contest to the submission of the accepted run, with an additional twenty (20) minutes for every rejected run for that problem (excluding compilation errors). There is no time consumed for a problem that is not solved.

Disqualification

  1. Undermining the legitimacy of the contest. Teams may be disqualified if the organizing committee reasonably believes that they have attempted to undermine the legitimacy of the competition, by engaging in activities including (but not limited to):

    1. Providing false information about themselves during registration or concerning their eligibility.
    2. Breaching or refusing to comply with the rules.
    3. Sharing or using from others, whether intentionally or unintentionally, any information about a task, including its content or solution, before the end of a round.
    4. Displaying behavior considered to be disruptive, unethical, or unsportsmanlike.
  2. Failing to reply. Teams may be disqualified if they fail to respond to any request for information from the organizing committee related to Algolympics within seven days of our request or a given deadline.
  3. Change of username/team name. The team must not change their Codeforces username/team name at any point in the contest period (from registration until the end of the on-site final round). Any username/team name change is grounds for disqualification.
  4. Change of Codeforces team. The team members that make up the Codeforces team must not change for the duration of the competition. Any change in team composition is grounds for immediate disqualification.
  5. Reporting possible cases. Any harassment, cheating, or violation of these terms may be reported by email to algolympics@upacm.net.
  6. Non-compliance with House Rules. After several warnings, failure to comply with the aforementioned Finals Rounds rules and mechanics may result in disqualification. Proctors hold the right to give warnings whenever unauthorized actions are detected during the competition. This includes, but are not limited to:

    1. Using more than ONE computer for coding and submitting solutions
    2. Accessing websites that are deemed NOT relevant to the contest proper
    3. Inserting flash drives, CDs, or any other portable media devices to the computer.

Awards

Certificates and souvenirs will be given to all the participants while monetary prizes will be given to the top three (3) teams, which are as follows:

  • Champion team: PHP 15,000
  • First runner-up team: PHP 12,000
  • Second runner-up team: PHP 9,000

Changes to the Rules

Mechanics are subject to change. Such changes will be communicated to all registered participants in a timely manner.