Platform Rules

Version 2 - Last updated: September 2026
1. Purpose

HighLoad.Fun is a competitive programming platform focused on code optimization. The goal is to write the most efficient solution for a given problem. This is not a CTF competition - we are here to find ways to speed up code, not to exploit weaknesses in generators or the platform.

2. Fairness
  • Own work. Solutions must be your own. You may use publicly available algorithms and libraries, but submitting code written by another person as your own is prohibited.
  • No external solution sharing.Do not share your solutions outside the platform (forums, chats, repositories, etc.). Sharing source code through the platform's Source Code Marketplace for RP is allowed - that's a core part of the game.
  • Purchased code is for learning. Source code bought via the Marketplace is for studying and learning. Re-submitting purchased code as your own solution is prohibited.
  • One account per person.Creating multiple accounts to gain unfair advantages, manipulate leaderboards, or circumvent penalties is prohibited.
3. Leaderboard Integrity
  • Scores must reflect real optimization. Your leaderboard position must be earned through genuine code improvements, not by gaming the scoring system or exploiting test data patterns.
  • RP must be earned honestly. Do not use coordinated accounts, fake interactions, or any other scheme to artificially inflate reputation points.
4. No Exploitation
  • No generator abuse.Do not reverse-engineer, exploit, or abuse test generators to achieve scores that do not reflect genuine code optimization.
  • No sandbox escapes. Do not attempt to break out of the sandbox, access unauthorized system resources, or interfere with the judging infrastructure.
  • Report vulnerabilities, don't exploit them. If you discover a bug or vulnerability in the platform, report it. Exploiting it for personal gain is a serious violation.
5. Compute Submission Limits
  • Source code size. The total size of all source files in a submission must be less than 1 MB (1,048,576 bytes).
  • Compiler flags. The compiler flags string must be at most 255 characters.
6. Server Competitions

Some challenges are server competitions: instead of submitting source code, you build a small HTTP service, ship it as a Docker image, and the platform benchmarks it against a generated workload. The rules in sections 1-4 (own work, no exploitation, leaderboard integrity, one account per person) apply here too.

Preparing and submitting a solution

Set a registry password on the challenge page (at least 8 characters), then build, tag, and push your image. Your registry username is your GitHub login. Pushing the image automatically queues a benchmark run - there is no separate submit step.

docker login registry.highload.fun
docker tag <your-image> registry.highload.fun/<challenge>/<your-login>:latest
docker push registry.highload.fun/<challenge>/<your-login>:latest

The challenge page also offers downloadable sample data. Samples are for local development only - each submission is scored on a freshly generated, hidden dataset, so memorizing a fixed request/response sequence does not help. The request distribution is the same every run.

Number of attempts (repository size)
  • Each challenge gives you a 2 GiB image repository. Every image you push stores its layers there (shared layers are counted once). When the repository is full, further pushes are rejected - there is no automatic cleanup - so the number of attempts you get is bounded by how much space your images use.
  • To get more attempts, keep images small and reuse base layers between pushes. Re-pushing an identical image costs nothing. A live usage bar on the challenge page shows how much of your quota is left.
  • One account per person (see rule 2). Creating extra accounts to obtain additional repositories, additional attempts, or to manipulate the leaderboard is prohibited and subject to the penalties in the final section.
How the score is calculated
  • Score = test duration + errors x 1 second (measured in nanoseconds). Lower is better. A faster service with no failed requests wins.
  • Errors are a penalty, not a disqualifier. A run with failed requests still completes and is scored, but each error adds a full second to your score, pushing you down the leaderboard.
  • A run can finish as Success (scored), Error (your service crashed or failed validation - no score), or System Error (a transient infrastructure issue, retried automatically).
  • The leaderboard keeps your best (lowest) score per challenge across all your submissions; the earliest submission breaks ties.
Reputation (RP)

Successful runs that improve your result earn Reputation Points - the same RP as compute challenges (levels are in section 7). Server competitions have no language dimension: RP depends only on your score s (in seconds, lower is better). All amounts are rounded to 2 decimals.

  • Improvement RP - paid when a run beats your own previous best on this challenge.
    • First successful solve: RP = 50,000 / s (e.g. 1.0 s -> 50,000 RP, 5.0 s -> 10,000 RP).
    • Later solve: RP = 50,000 / s - 50,000 / prev, where prev is your previous best. If the run does not beat your previous best, you earn 0.
  • Global record bonus - stacks on top of improvement RP, paid only when your score beats every other user's best on this challenge.
    • bonus = 50,000 / s - 50,000 / global_prev
    • No bonus for the first-ever solve of the challenge - there is no prior record to beat.

Each request error adds 1 second to s, so errors lower both your leaderboard position and the RP you earn.

7. Levels & Reputation

Your Reputation Points (RP) reflect your skill and contribution. The challenge formulas below are for compute challenges, where RP is tied to two different leaderboards - your best score across all languages for the challenge, and the global best in each specific language. Server competitions earn RP too, with no language dimension - see section 6. All RP amounts are rounded to 2 decimals.

Earning RP from challenges

Let S be the score of your newly accepted solution (lower is better).

  • Improvement RP (all-languages scope). Compared against your previous best on this challenge across every language.
    • First successful solve: RP = 10,000,000 / S
    • Later solve: RP = 10,000,000 / S - 10,000,000 / prev, where prev is your previous best in any language.
    • If S is not better than prev, you earn 0 improvement RP - even if it's your first solve in this language. Example: your all-languages best is C++ at 2000 and you submit Go at 1800. You earn 10M/1800 - 10M/2000 ~= 555.56, because Go 1800 beats your all-languages best. Submit Go at 2500 and you earn 0, because it does not beat 2000.
  • Global record bonus (per-language scope). Stacks on top of improvement RP. Paid only when S beats every other user's best in the same language on this challenge.
    • bonus = 10,000,000 / S - 10,000,000 / prev_lang_best
    • No bonus if you are the first person to solve the challenge in this language - there is no prior record to beat.

Both mechanisms are awarded on the same submission, so one top-tier solve can pay out improvement RP and a language record bonus.

Earning RP from activity
  • Daily login: +1 RP, once per 24 hours.
  • Login streak: +3 RP every 7 consecutive daily logins. Missing a day resets the streak.
  • Daily challenge: +5 RP for your first solve of the day's featured challenge.
  • Bug bounty: admin-assigned - see rule 9 below.
Earning RP from likes

RP awarded per like depends on the liker's level. Novice likes are worth nothing, which is why multi-account like-farming does not pay off.

Discussion comments

Liker levelRP per like
Novice0
Apprentice0.1
Skilled0.3
Expert1
Master2
Grandmaster / Admin5

Article comments

Liker levelRP per like
Novice0
Apprentice1
Skilled3
Expert10
Master20
Grandmaster / Admin50
Levels

Levels are dynamic: each level's threshold is a fraction of the #1 non-admin player's RP, snapped down to the nearest 100 RP. For a level with fraction f: threshold = floor(f * topRP / 100) * 100.

LevelFraction of #1's RP
Novice0%
Apprentice0.5%
Skilled2.5%
Expert12.5%
Master37.5%
Grandmaster85%
  • Levels can change. If the #1 player improves and your RP falls below the new threshold, your level drops.
  • Current thresholds are shown on the home page.
8. Solution Challenges

Any successful compute solution on the leaderboard can be re-tested by another participant. Open the solution page and either Recheck it with the task's own generator on fresh data, or Challenge it with a generator you wrote yourself. Both cost RP, and the exact cost and reward are shown on the button before you confirm.

What is at stake

A solution's stake is all the RP it earned for its author - improvement RP plus any global record bonus (section 7). This is the amount a successful challenge destroys.

  • Cost: max(10 RP, 10% of the stake), deducted when the challenge is queued.
  • The solution fails: you get the full cost back, plus a reward of 25% of the stake.
  • The solution holds: you lose the cost. The solution and its author are untouched.
  • No verdict (the generator failed to build, the checker could not run the solution, or someone else broke the solution while yours was queued): full refund, no reward, no penalty.
Solution's stakeCostIf it failsIf it holds
010+10 refund, no reward-10
20020+20 refund, +50 reward-20
1,000100+100 refund, +250 reward-100
3,000300+300 refund, +750 reward-300

Once the stake passes 100 RP you break even at roughly 29% confidence; below that the 10 RP floor makes the odds worse. A solution that never earned RP has a stake of 0 - breaking it refunds the 10 RP floor and pays no reward, and it still costs 10 RP if it holds, so aim at solutions that actually scored.

If your solution is broken
  • You lose the improvement RP and the global record bonus that solution earned. Your RP can go negative from this.
  • Your personal best reverts to your previous best score, and any record the solution held passes to the next best.
  • Submitting a fixed version is free, as always. Nothing else on your account is affected.
  • This can happen while you are away - a challenge is another participant's action, so the RP log may show a penalty on a day you never signed in.
Rules for challengers
  • You cannot challenge your own solution, only a solution currently in the Success state, and only one of your challenges per solution can be in flight at a time. A queued challenge cannot be cancelled - the cost is committed when you confirm.
  • A custom generator must produce input that satisfies the task description. Generators are validated against reference solutions before they can be used, and a generator later found to break those constraints is removed - along with every verdict it produced, with the affected RP restored on both sides.
  • Challenges are for finding real incorrectness. Using them to harass a participant falls under rule 10.
9. Bug Bounty

We reward users who help improve the platform. If you find a bug - whether in the platform itself or in a challenge task - submit a report. Valid reports earn RP at the administrators' discretion.

  • Describe the bug clearly: steps to reproduce, expected vs. actual behavior.
  • If the bug is in a specific challenge, mention the challenge name.
  • Do not exploit bugs for personal gain. Report first, earn RP honestly.
10. Respect
  • Treat all community members with respect in discussions, comments, and code reviews.
  • Harassment, hate speech, discrimination, or personal attacks are not tolerated.
  • Give constructive feedback. Disagree civilly.
11. Content
  • Challenge descriptions, articles, and comments must not contain illegal, offensive, or inappropriate content.
  • Do not upload malicious code or content designed to harm other users or the platform.
12. Penalties

Violations will result in escalating consequences at the discretion of the administrators:

LevelActionDetails
1WarningA formal notification of a rule violation.
2Score / RP resetReputation points and/or scores reset for affected challenges.
3Temporary suspensionAccount suspended for a defined period (hours, days, or weeks).
4Permanent banAccount permanently suspended with no platform access.

Administrators may apply any penalty level immediately for serious offenses.

Sign in to accept the Platform Rules and start using the platform.