Universal Cup


Contest Info

Contest Info

  • Each contest will take place on the weekends of the week.
  • Each contest is 5 hours long.
  • The ruleset of the contest is the traditional ICPC rule.
  • Each contest will consist of a number of problems, usually 10 to 13.
  • The leaderboard will be frozen 4 hours after the contest starts, and the results submitted after 4 hours will be shown pending on the leaderboard.
  • The competition will be ranked in descending order of the first keyword by the number of solved problems, and ascending order of the second keyword by the time penalty.
  • The penalty for a problem is the the time elapsed from the beginning of the contest to the submission of the first accepted run. Any wrong submission (excluding compilation errors) will add 20 minutes to the penalty time for this problem.
  • The total penalty of the team is the sum of the penalty times of all solved problems.

Contest Window

  • To facilitate teams from different time zones, we have set up six time windows. Teams are free to choose any of the six windows to participate in.
    • 13:00 (UTC +8) on Saturday ~ 18:00 (UTC +8) on Saturday
    • 16:00 (UTC +8) on Saturday ~ 21:00 (UTC +8) on Saturday
    • 19:00 (UTC +8) on Saturday ~ 24:00 (UTC +8) on Saturday
    • 21:00 (UTC +8) on Saturday ~ 02:00 (UTC +8) on Sunday
    • 23:00 (UTC +8) on Saturday ~ 04:00 (UTC +8) on Sunday
    • 02:00 (UTC +8) on Sunday ~ 07:00 (UTC +8) on Sunday
  • The length of the contest will always be 5 hours, no matter which time window you chose.
  • The scoreboard will contains the results of the teams participated in the previous time windows.

Contest Problems

  • The tasks are given in the traditional ICPC format. No partial scores or subtasks are given.
  • Most of the tasks can be divded into three different categories:
    • Standard Tasks: The most common task type. You are asked to read the input from the standard input and print the answer to the standard output. A checker from the jury will be used to evaluate your answer.
      • The Problem A in the trial contest is an example of the standard task.
    • Interactive Tasks: The input given to your program may be not predetermined. It might built specifically for your solution and given based on the behavior of your program. An interaction from the jury will be used to interact with your program.
      • The Problem B in the trial contest is an example of the interactive task.
    • Communication Tasks: You solution might run multiple times during the evaluation.
      • The Problem C in the trial contest is an example of a communication task.
  • You might receive the following types of verdicts for your submission:
    • AC: Your solution is accepted! It means you successfully solved this problem.
    • WA: The output of your solution is wrong.
    • TL: Your solution exceeds the time limit, which means it has run for longer time than permitted.
    • ML: Your solution exceeds the memory limit, which means it has consumed more memory than permitted.
    • RE: There was an error during the execution of your program, like division by zero, incorrectly addressing memory or reading or writing to files.
    • Compile Error: Your solution could not be compiled successfully.
    • Judgement Failed: There's something wrong in this problem. Please contact the administrator!

Technical Details

  • The platform used during the competition is QOJ, a modified version of the Universal Online Judge.
  • The CPU used in the judging machine is Intel(R) Xeon(R) Platinum 8370C CPU @ 2.80GHz.
  • The supported programming languages include C, C++, Python 3, and Java.
  • For C and C++ languages, the compiler version used is GCC 11.1.0, with -O2 enabled. You can use any language standard including C++98, C++11, C++14, C++17 and C++20.
  • The version of python3 is Python 3.10.9
  • The version of Java is OpenJDK 11.0.16
  • The size of each submission could not exceed 256 Kilobytes.

Contest Rules

Clarifications and Announcements

  • During the contest, judges may send announcements through Clarifications in the contest system, which may contain explanations, revisions, or other important information about the content of the problems.
  • Participants should check the content of the announcement regularly, and the impact caused by the omission of announcement information cannot be used as a reason for appeal.
  • During the competition, if contestants have questions about the problems, contestants should ask questions in the system. It is not recommended to use other communication methods to ask questions.
  • No replies of the clarifications are guaranteed as the author might not be available in the whole contest window.

Contest Rules

As an online non-profit event, we cannot design additional invigilation methods, so there are no additional restrictions on the number of participating machines, pre-written codes and other requirements. However, participants need to abide by the following principles:

  • During the contest, contestants should not communicate with anyone other than team members, nor should they distribute their team's problem-solving materials (including but not limited to problem-solving ideas, codes or other auxiliary programs) to the Internet.
  • During the contest, contestants should not submit malicious codes, including but not limited to attacks on the evaluation machine and malicious occupation of evaluation system resources.
  • The problems used in each round may come from previous contests. If any one of the participating teams has participated in such contest, that participant should not continue to participate in this round. If the team participating in the competition has the same composition as the team in the Universal Cup, the team's rating will be replaced by its score in the original competition.
  • During the contest, each team member can use their own computer at the same time, but only one computer is allowed to be used to write code at the same moment.
  • If a participant violates the above principles, or engages in other behaviors that the referee team believes interferes with the normal operation of the contest, the participant may be given a warning, removed from the contest or banned from participating in the season.

The right to interpret and enforce the rules belongs to the Universal Cup Organizing Committee.


If contestants have any objections to the referee's handling during the contest, please send an email to [email protected] within 48 hours after the competition to explain the problem. Appeals beyond this time will be considered invalid.


Note: The current rating system is still in the experimental stage. It is subject to change in the future.

Grand Prix 30 System

In each round, a team that get into top 30 will be award GP30 scores, according to the following table.


Rating in a Contest

At the end of each round, the Rating of all valid teams will be calculated, and the Rating of each team will be calculated as follows

$$ R = 100 \times \frac{Solved}{maxSolved} \times \frac{n_{\mathrm{teams}} - rank + 1}{n_{\mathrm{teams}}} + \mathrm{GP30} $$

The meaning of each of these parameters is as follows.

  • $R$ : The rating of the team, it will be a real number in $[0, 200]$.
  • $Solved$ : The number of problems solved by the team.
  • $maxSolved$ : The number of problems solved by the best team.
  • $n_{\mathrm{teams}}$ : The number of teams that have solved at least one problem. Teams that did not solve any problems are not counted.
  • $rank$ : The rank of the team.
  • $\mathrm{GP30}$ : The GP30 score of the team. If the team didn't get into top 30, the score will be 0.

Season Rating

A team's Rating for a season will be calculated based on its Rating for each round. Specifically, assume the team's Rating for all contests in the season, sorted in descending order, are $r_0, r_1, r_2, \cdots, r_{m-1}$ ( $r_0 \geq r_1 \geq r_2 \geq \cdots \geq r_{m-1}$ , then the rating of the team will be:

$$R = k \sum_{i=0}^{m-1} (1-k)^{i} r_i$$

In the second season of the Universal Cup, the value of $k$ will be $\displaystyle\frac{1}{4}$.

External Rating

A team may apply to the Organizing Committee to add its Rating for the corresponding round when:

  • When a team has participated in a round on site, the Rating will be calculated based on their results on site.
  • When a team is the proposer or a tester of a round, it will receive the average of the Rating of all teams that have solved at least one problem as its Rating.