Eligibility of Participants

A single proper team consists of one (1) to 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 be 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 or proof of school registration in order to be eligible for the Online Final Round.


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 On-Site Final Round will be communicated through the email provided.

The team must have a 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:

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 On-Site Final Round").

Contest Structure

The competition will be split into two rounds:

  1. The Online Elimination Round
  2. The Online Final Round Problem statements will be written in English and English only. Communication with judges (clarifications, etc.) will also be in English.

Online Elimination Round

Prior to the event, an 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 for February 12, 2021 at 8:00 PM to February 22, 2021 at 8:00 PM (11 days) 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 is allowed for the Online Elimination Round. Note however that the languages available for the On-Site Final Round will be limited to C++, Java, and Python 3 (details seen below under "Contest Environment").

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

Invitation to the Online Final Round

The teams that:

  • satisfy all eligibility criteria,
  • have not been disqualified,
  • have confirmed willingness and ability to attend the On-Site Final Round,
  • are among the top three (3) from their school, and
  • are among the top twenty (20) teams satisfying all criteria above

will be given invitations to the On-Site Final Round.

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 On-Site Final Round, invites may be given to newly qualifying teams as per the criteria above.

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

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

Online Final Round

The Online Final Round will be on March 20, 2021, from 1:00 PM to 6: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. A team can be composed of 1 to 3 members and will all be competing in the same final round.

Each team is required to pay a registration fee amounting to Php 150 per person be paid before the Online 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 On-Site 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 per participant.

A computer may only use the following approved software throughout the duration of the contest:

  • Browsers

    • Safari, Firefox, Microsoft Edge, or Google Chrome
  • IDE and Text Editors

    • Code::Blocks, Eclipse, Textpad, Notepad++, Dev-C++, Sublime Text, Visual Studio Code, Netbeans IDE, vi, vim, emacs, TextEdit, Geany
  • Spreadsheet software

    • Microsoft Excel, LibreOffice Calc, OpenOffice Calc, or Numbers
  • Calculator

Browsers shall only be used to connect to proctors using Google Meets, as accessing any online resources except those allowed by the judges is prohibited.

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

  • Contain up to 20 pages of reference material, machine printed 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 be in some type of notebook, binder, envelope, or folder with the name of the institution and team on front.

All materials 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 set 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.


The contest will be proctored over Google Meets and will be sent their meeting link on the day of the event. All members of the team do not need to be in the same physical location to compete, as long as they can be present in the Google Meets call. Team members are also allowed to be in the same location if they wish to do so, provided that they meet all proctoring guidelines.

Proctors will check if only approved software is being used. Participants' computers will also be checked so that the device has no pre-existing code that can be copied or used during the contest.

During the contest, the participant must

  • have their camera and microphone on at all times,
  • show their face on their main camera,
  • share their entire screen,
  • have their scratch papers checked, and
  • inform their proctor if they need to leave the range of their camera.

The participants shall be recorded to aid in the monitoring process. This footage will then be checked after the contest proper and may be in our possession for 30 days after.

It is recommended that the participant have another camera using their same account that has a clear view of their hands and face (and if possible, at least a glimpse of the screen too) to help dispel cheating allegations. In this regard, time spent away from camera range will be no more than 10 minutes at a time. Participants must ask permission from the proctor if the participant wishes to leave the range of their camera and may only do so once acknowledged. Only 1 team member may go outside of camera range at a time. Failure to return to camera view after 10 minutes will result in disqualification.

If a person is disconnected from the call, they must be back online within 15 minutes. They may be disqualified after 15 minutes, subject to the judgement of the proctors. A team will be allowed to continue competing as long as 1 remaining team member has not been disqualified due to disconnection.

It is recommended that the team also have a backup internet source (e.g. mobile data) in case of internet issues during the contest.

Note that proctoring guidelines may be modified. Changes will be communicated to all registered participants in a timely manner.

Practice Session

Prior to the contest proper, a practice session will be held for one (1) hour and 30 minutes, in order for the contestants to be familiar with the contest environment, as well as to address any technical or logistical issues that might arise.

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


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


  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. Prolonged unmonitored time. An individual may be disqualified if they are out of view of their camera or take their restroom break for more than the allotted time. Disqualification can also occur, if an individual is disconnected from the call for more than the time indicated in the “Proctoring” section.
  3. 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.
  4. 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.
  5. 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.
  6. Reporting possible cases. Any harassment, cheating, or violation of these terms may be reported by email to


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 12,000
  • First runner-up team: Php 9,000
  • Second runner-up team: Php 6,000

Changes to the Rules

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