30 points are awarded for correct answers. 70 extra points can be awarded depending on the task “difficulty”. The difficulty of any task comes from the average points teams scored on it; should many teams solve the same task, that task is deemed to be very easy and no additional points will be awarded for that task. However, if few teams solve a task the task will be deemed difficult and will be credited with additional points. This scoring schematic makes the competition and your placement within the ranking very dynamic. Sharing a submission in full or in part with other teams is strictly prohibited and will result in disqualification.
Note: Time is not directly included in the scoring formula. Its purpose is to break ties, so teams that end up with the same total score, but solve cases for the tasks more quickly end up higher in the standings if they are otherwise tied with other teams. Since teams are not penalized for the number of times a solution is submitted, it is recommended that teams try to solve the tasks as quickly as possible.
The exact formula for calculating the points value of a task:
Average Points can be a number between 0 and 1, where 0 represents tasks that no one solved, and 1 represents tasks that all teams solved.
Tasks contain more than one test case. Those included in the sample will carry less weight whereas hidden cases will carry more weight on a varying degree depending on difficulty.
The higher number of solved cases a team submits, the higher the score will be. Therefore, should a team solve 3 out of 5 possible cases, while another team solved 5 out of 5, the team solving 3 would receive partial credit for that task.
Rank is decided primarily by summing submission scores. However, total submission time, as defined below, will be utilized to break ties. Ex: Team A and Team B can have the same sum of submission scores, let’s say X, but then have different ranks, say Rank 2 and Rank 3. This means the Team with higher rank was faster to solve tasks compared to the other team.
Total submission time:
||Sum of correct test cases’ weights divided by Sum of all test cases’ weights
||1:05 am, UTC
||2:05 am, UTC
||3:05 am, UTC
||4:05 am, UTC
||5:05 am, UTC
To calculate the total team submission time for the example in the above table, we consider the best submissions for each task (both of which were released at 12:05 am, UTC). For task 3, the best (and only) submission occurred 2 hours into the task. For task 2, the best submission occurred 3 hours into the task. Note that if an identically scoring submission occurred later, we use the earliest of these submissions. Therefore, we ignore submissions numbered 4 and 5 because neither of these was an improvement over submission number 3. In this case, then, the total submission time for the team for the 2 tasks would be 5 hours (2 hours plus 3 hours).
Submission time for each task is calculated from the release of each task, not from the start of the competition.
No programming language has a significant scoring advantage over the others. (Ex: Java, C, Python, PHP, etc. are all generally equal in terms of scoring). Scores will be impacted only by submission time (and run time, and memory usage). Compiling time or similar will not affect scores.
Due to the dynamic nature of the scoring formula, scores may fluctuate throughout the competition. Interested teams may want to check in every so often to review their standings.