Frequently Asked Questions

How are points calculated?

The points system takes the weighted sum of the top 100 submission scores on distinct problems. The score of the i^{th} problem is weighted by 0.95^i. Formally, where S represents sorted scores and P a user's base points,

\displaystyle P=\sum_{i=0}^{min(99, |S|)}{0.95^i \cdot S[i]}

To not over-penalize users who have dedicated time to solving many problems, an additive adjustment B is made to the base point value. Where N is the number of problems a user has a fully-accepted solution on,

\displaystyle B=150 \cdot (1-0.997^N)

A user's point score is then the sum of P+B.

What do the different colours that some users have mean?


Do you have any tips regarding different languages?

Yes, please check the tips page.

How is the time bonus and first try bonus calculated?

The formula for time bonus is \big \lfloor \frac{P}{T} \times \frac{t}{B} \big \rfloor where P is the number of points you received on the problem, T is the point total for the problem, t is the number of minutes before the contest end, and B is the bonus factor. For most contests, B = 5, meaning that you will receive one point for every 5 minutes before the contest end, multiplied by your score as a percentage.

For first try bonus, you will receive B bonus points if you AC on your first submission. This B is usually determined by the contest setter.

Is there an API? How do I use the API?

Yes, there is! You can find more information here.

Can I set problems on the judge?

As of December 5th, 2019, only MCPT executives are allowed to have problem setting permissions on the site.

If you have a problem idea, feel free to contact an executive with those permissions to write it (you will be given credit). Note: the problems still need the approval of the Judge and Problem Setting team to be made public.