Cross-Margin Liquidation Engine 
Simulate a cross-margin derivatives engine: process trades, track account equity, and liquidate undercollateralized accounts as fast as possible.
Accounts are funded with a USD deposit and trade instruments whose prices change over time. When a price update causes an account’s equity to fall below 1% of its total position notional, the account must be liquidated.
Definitions
- Account equity =
balance + Σ(size_i * price_i) - Σ(total_paid_i) - Total position notional =
Σ(|size_i| * price_i) - Total paid for instrument
i= signed sum oftrade_size * price_at_trade_timeacross all trades - Margin rule: liquidate if
equity < total_notional / 100after any price update
Input
One command per line on STDIN:
a <balance>– create account with USD balance (IDs start at0, incrementing)p <instrument_idx> <price>– set/update instrument price (0-indexed)t <account_idx> <instrument_idx> <size>– tradesize(signed) at current price- Final line:
<account_idx>– query this account and terminate
Output
On each price update, liquidate all accounts violating the margin rule. For each liquidation, print:
liquidate <account_id> <equity> <position_notional>
Liquidation order: largest total position notional first, then account ID descending as tie-breaker. Liquidated accounts have their balance and positions cleared.
For the final query, print <equity> <notional> for the requested account.
Constraints
- Accounts: <= 100,000
- Instruments: <= 1,000
- Price range: 100 to 1,000,000
- Trade size range: 1 to 10,000
Example
a 100
p 0 100
t 0 0 10
p 0 90
0
Output:
liquidate 0 0 900
0 0
| Date | Author | Language | Status | Score | |
|---|---|---|---|---|---|
| Oct 14, 2026 02:30 | RUSTrust-1.95.0 | Error | |||
| Oct 14, 2026 01:23 | CPPclang++18.1.3 | Error | |||
| Oct 14, 2026 01:22 | CPPclang++18.1.3 | Error | +58.27 RP | ||
| Oct 14, 2026 01:22 | CPPclang++18.1.3 | Error | |||
| Oct 14, 2026 00:26 | CPPclang++18.1.3 | Error | |||
| Oct 14, 2026 00:25 | CPPclang++18.1.3 | Error | |||
| Oct 14, 2026 00:22 | CPPclang++18.1.3 | Error | +295.16 RP | ||
| Oct 13, 2026 23:31 | CPPclang++18.1.3 | Success | 1,663 | ||
| Oct 13, 2026 23:31 | CPPclang++18.1.3 | Success | 1,633 | ||
| Oct 13, 2026 23:28 | CPPclang++18.1.3 | Success | 1,660 | ||
| Oct 10, 2026 06:40 | CPPclang++20.1.2 | Error | +4'995.87 RP | ||
| Oct 9, 2026 23:08 | CPPclang++18.1.3 | Success | 2,994 | ||
| Oct 9, 2026 22:57 | CPPg++14.2.0 | Success | 2,975 | ||
| Oct 9, 2026 22:56 | CPPg++14.2.0 | Success | 3,192 | ||
| Oct 9, 2026 22:39 | CPPg++14.2.0 | Success | 3,094 | ||
| Oct 9, 2026 22:34 | CPPg++14.2.0 | Success | 3,214 | ||
| Oct 9, 2026 22:28 | CPPg++14.2.0 | Success | 2,962+163.76 RP | ||
| Oct 9, 2026 22:15 | CPPg++14.2.0 | Success | 3,442 | ||
| Oct 9, 2026 22:14 | CPPg++14.2.0 | Success | 3,121 | ||
| Oct 9, 2026 22:05 | CPPg++14.2.0 | Success | 3,753 | ||
| Oct 9, 2026 21:58 | CPPg++14.2.0 | Success | 3,113+176.51 RP | ||
| Oct 9, 2026 21:34 | CPPg++14.2.0 | Success | 3,294+40.02 RP | ||
| Oct 9, 2026 21:22 | CPPg++14.2.0 | Success | 3,338+2'809.46 RP | ||
| Oct 9, 2026 16:17 | CPPg++14.2.0 | Success | 53,663+186.35 RP | ||
| Oct 9, 2026 14:32 | CSHARP9.0.18 | Success | 2,010 | ||
| Oct 9, 2026 14:23 | CSHARP9.0.18 | Success | 2,169 | ||
| Oct 9, 2026 13:29 | GOgo1.26.2 | Error | |||
| Oct 9, 2026 12:40 | GOgo1.26.2 | Success | 1,668 | ||
| Oct 9, 2026 11:36 | GOgo1.26.2 | Success | 1,661 | ||
| Oct 9, 2026 10:40 | GOgo1.26.2 | Success | 1,680 | ||
| Oct 9, 2026 09:16 | GOgo1.26.2 | Success | 1,690 | ||
| Oct 9, 2026 08:14 | GOgo1.26.2 | Success | 1,701 | ||
| Oct 9, 2026 07:51 | ZIG0.15.1 | Error | |||
| Oct 9, 2026 07:09 | RUSTrust-1.95.0 | Error | |||
| Oct 7, 2026 18:31 | CPPclang++18.1.3 | Error | +614.22 RP | ||
| Oct 7, 2026 18:29 | CPPclang++18.1.3 | Error | |||
| Oct 7, 2026 18:27 | CPPclang++18.1.3 | Error | |||
| Oct 7, 2026 18:27 | CPPclang++18.1.3 | Error | |||
| Oct 7, 2026 18:26 | CPPclang++18.1.3 | Error | |||
| Oct 7, 2026 18:25 | CPPclang++18.1.3 | Error | |||
| Oct 7, 2026 18:23 | CPPclang++18.1.3 | Success | 1,709 | ||
| Oct 7, 2026 18:20 | CPPclang++18.1.3 | Error | |||
| Oct 7, 2026 18:14 | CPPclang++18.1.3 | Error | +347.23 RP | ||
| Oct 7, 2026 18:07 | CPPclang++18.1.3 | Error | |||
| Oct 7, 2026 18:04 | CPPclang++18.1.3 | Error | +486.62 RP | ||
| Oct 7, 2026 17:58 | CPPclang++18.1.3 | Error | +273.37 RP | ||
| Oct 7, 2026 17:51 | CPPclang++18.1.3 | Error | +739.45 RP | ||
| Oct 7, 2026 02:16 | CPPg++13.3.0 | Success | 2,436 | ||
| Oct 7, 2026 02:13 | CPPg++13.3.0 | Error | |||
| Oct 7, 2026 02:12 | CPPg++13.3.0 | Error | |||
| Oct 7, 2026 02:11 | CPPg++13.3.0 | Success | 2,434 | ||
| Oct 7, 2026 02:09 | CPPg++13.3.0 | Error | +562.55 RP | ||
| Oct 7, 2026 02:08 | CPPg++13.3.0 | Error | |||
| Oct 7, 2026 02:06 | CPPg++13.3.0 | Error | +309.86 RP | ||
| Oct 7, 2026 02:05 | CPPg++13.3.0 | Success | 3,278 | ||
| Oct 7, 2026 02:04 | CPPg++13.3.0 | Error | |||
| Oct 7, 2026 02:03 | CPPg++13.3.0 | Error | +129.98 RP | ||
| Oct 7, 2026 01:59 | CPPg++13.3.0 | Error | |||
| Oct 7, 2026 01:58 | CPPg++13.3.0 | Error | +445.38 RP | ||
| Oct 7, 2026 01:53 | CPPg++13.3.0 | Error | +2'959.46 RP | ||
| Oct 7, 2026 01:51 | CPPg++13.3.0 | Error | |||
| Oct 7, 2026 01:49 | CPPg++13.3.0 | Error | |||
| Oct 7, 2026 01:44 | CPPg++13.3.0 | Error | |||
| Oct 6, 2026 07:42 | CPPg++14.2.0 | Success | 314,644+31.78 RP | ||
| Sep 26, 2026 17:39 | CSHARP9.0.18 | Success | 1,663+1'387.88 RP | ||
| Sep 26, 2026 17:37 | GOgo1.26.2 | Success | 1,611+1'800.10 RP | ||
| Sep 26, 2026 17:36 | ZIG0.15.1 | Success | 1,671+1'426.56 RP | ||
| Sep 26, 2026 17:35 | RUSTrust-1.95.0 | Success | 1,736+1'030.00 RP | ||
| Sep 25, 2026 23:29 | CPPg++13.3.0 | Success | 1,548+1'092.58 RP | ||
| Sep 25, 2026 23:25 | CPPg++13.3.0 | Success | 1,721 | ||
| Sep 25, 2026 23:21 | CPPg++13.3.0 | Success | 1,691+1'817.32 RP | ||
| Sep 25, 2026 22:55 | CPPg++13.3.0 | Success | 1,998+5'204.63 RP | ||
| Sep 23, 2026 18:32 | CPPclang++19.1.1 | Success | 128,157+78.03 RP | ||
| Sep 23, 2026 18:30 | CPPclang++19.1.1 | Error | |||
| Sep 23, 2026 18:23 | CPPclang++19.1.1 | Error | |||
| Sep 18, 2026 16:36 | CPPg++14.2.0 | Success | 262,396 | ||
| Sep 18, 2026 16:31 | CPPg++14.2.0 | Success | 250,547 | ||
| Sep 18, 2026 16:24 | CPPg++14.2.0 | Success | 10,474 | ||
| Sep 17, 2026 19:43 | ZIG0.15.1 | Success | 2,194+1'230.10 RP | ||
| Sep 17, 2026 19:35 | CPPg++14.2.0 | Success | 2,166 | ||
| Sep 17, 2026 19:25 | CPPg++14.2.0 | Success | 2,184 | ||
| Sep 17, 2026 19:25 | ZIG0.15.1 | Success | 3,046 | ||
| Sep 17, 2026 19:25 | CSHARP9.0.15 | Success | 2,253 | ||
| Sep 17, 2026 19:24 | RUSTrust-1.95.0 | Success | 2,114+231.94 RP | ||
| Sep 17, 2026 19:16 | CSHARP9.0.15 | Success | 2,162+1'134.95 RP | ||
| Sep 17, 2026 19:15 | RUSTrust-1.95.0 | Success | 2,223+133.52 RP | ||
| Sep 17, 2026 19:11 | CSHARP9.0.15 | Success | 3,721 | ||
| Sep 17, 2026 19:09 | RUSTrust-1.95.0 | Success | 3,042 | ||
| Sep 17, 2026 19:09 | ZIG0.15.1 | Success | 3,005+1'485.15 RP | ||
| Sep 17, 2026 19:09 | GOgo1.26.2 | Success | 2,269+187.82 RP | ||
| Sep 17, 2026 18:52 | ZIG0.15.1 | Error | |||
| Sep 17, 2026 18:51 | CSHARP9.0.15 | Success | 3,778 | ||
| Sep 17, 2026 18:50 | GOgo1.26.2 | Success | 4,262 | ||
| Sep 17, 2026 18:46 | RUSTrust-1.95.0 | Success | 3,075 | ||
| Sep 17, 2026 18:35 | CPPg++14.2.0 | Success | 2,119 | ||
| Sep 15, 2026 22:10 | CPPclang++18.1.3 | Error | |||
| Sep 15, 2026 21:52 | CPPclang++18.1.3 | Error | |||
| Sep 15, 2026 21:24 | CPPclang++18.1.3 | Error | |||
| Sep 15, 2026 21:01 | CPPclang++18.1.3 | Error | |||
| Sep 15, 2026 20:16 | CPPclang++18.1.3 | Error |