Rules & Scoring

How the contest works

Every question is configured with one of three scoring styles, set by the organiser per question — so a single event can mix and match. Below is exactly how points are awarded and the rules that apply to every submission. Your final event score is the sum of your best score across the questions you accepted.

Scoring · how points are awarded
Static

Same prize for everyone

Every accepted solve earns the question's full maxScore. No bonuses for speed, no penalty for being late — solving it is the only thing that matters.

Used for baseline correctness questions where the organiser just wants to count solvers, not rank them.

accept ⇒ +maxScore

Depreciating

First to solve wins biggest

The first solver gets the full prize; everyone after gets a fraction. Concretely, the k-th unique solver receives floor(maxScore / k), floored at floor(maxScore / 10) — late solvers still leave with at least 10% of the prize. Re-submissions keep your original rank.

Used for competitions where speed of insight matters: hackathons, buzz-rounds, ICPC-style sprints.

1st ⇒ maxScore · 2nd ⇒ maxScore/2 · … floor ≥ maxScore/10

Time-based

Score shrinks against the clock

The organiser sets a per-user time budget (in minutes). Your countdown starts the first time you open the question. Score scales linearly with the fraction of time remaining when you submit an accepted solution, so finishing with 50% left awards roughly half the points. Floored at floor(maxScore / 10) — running the clock out still keeps a baseline reward.

Used for timed assessments and practice rounds where pacing is part of the skill.

accept ⇒ floor(maxScore × remaining / total), floor ≥ maxScore/10

Rules across all three
  • All tests pass → the full point-style score is awarded. Done.
  • Some tests pass → on static and time-based questions you'll see a popup offering partial credit. The award is point-style-score × (testsPassed / totalTests), floored at 1 if you opt in. Discarding keeps the submission on your history with 0 points and you can retry for full credit. Depreciating questions are all-or-nothing — no partial credit is offered, so you earn the rank-based score only by passing every test.
  • Zero tests pass / runtime error → no partial offer; the submission is recorded with 0 points.
  • Each event has a cool-down between submissions — you'll see a countdown on the editor's Submit / Test run buttons while it's ticking.
  • Once you've fully solved a question (all tests green on a single submission), the Submit and Test-run buttons grey out for that problem. Partial credit does not lock the buttons — you can keep trying for the full score.
  • The leaderboard takes your best score per question and tie-breaks in order: total score → fewer submissions → faster total exec time.
AI-prompt questions

On AI-prompt questions you describe the solution and the AI writes the code — your latest generation is graded. Some set a prompt-token budget: the fewer tokens you spend, the higher your multiplier (×1.0 → ×0.75 as you approach the budget, on both full and partial scores). A live counter shows your usage, and prompting stops once the budget is spent.

AI-usage detection

Beyond the standard test-case grading, every submission is analysed by our own custom machine-learning models that estimate how much of an answer was produced using external AI tools to generate code or prompts. This runs automatically in the background. If a submission is flagged as AI-generated, a score multiplier may be applied and your final points for that question — and your overall event score — can be reduced accordingly. Detection signals are reviewed at the organiser's discretion, and the Event Coordinator and Faculty Panel have the final say on any resulting score adjustment.