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 | |
|---|---|---|---|---|---|
| Apr 17, 2026 18:08 | GOgo1.26.1 | Success | 6,431 | ||
| Apr 17, 2026 18:00 | GOgo1.26.1 | Success | 7,070 | ||
| Apr 17, 2026 16:36 | GOgo1.26.1 | Success | 6,590 | ||
| Apr 17, 2026 03:33 | CSHARP9.0.14 | Success | 7,696 | ||
| Apr 17, 2026 03:29 | CSHARP9.0.14 | Success | 8,691 | ||
| Apr 17, 2026 03:15 | ZIG0.14.0 | Error | |||
| Apr 17, 2026 02:53 | ZIG0.14.0 | Error | |||
| Apr 17, 2026 02:47 | ZIG0.14.0 | Error | |||
| Apr 17, 2026 02:43 | ZIG0.14.0 | Error | |||
| Apr 17, 2026 02:42 | ZIG0.14.0 | Error | |||
| Apr 17, 2026 02:37 | CSHARP9.0.15 | Success | 9,851 | ||
| Apr 17, 2026 02:33 | ZIG0.14.0 | Error | |||
| Apr 17, 2026 02:26 | ZIG0.14.0 | Success | 5,880 | ||
| Apr 17, 2026 02:15 | ZIG0.14.0 | Success | 6,231 | ||
| Apr 17, 2026 02:08 | CSHARP9.0.15 | Success | 10,089 | ||
| Apr 17, 2026 02:01 | ZIG0.14.0 | Success | 21,879 | ||
| Apr 17, 2026 01:59 | CSHARP9.0.15 | Success | 7,297 | ||
| Apr 17, 2026 01:55 | CSHARP9.0.15 | Success | 7,049+281.76 RP | ||
| Apr 17, 2026 01:44 | ZIG0.14.0 | Success | 6,010 | ||
| Apr 17, 2026 01:40 | CSHARP9.0.15 | Success | 8,796+148.54 RP | ||
| Apr 17, 2026 01:37 | ZIG0.14.0 | Error | |||
| Apr 17, 2026 01:36 | ZIG0.14.0 | Error | |||
| Apr 17, 2026 01:35 | ZIG0.14.0 | Success | 6,946 | ||
| Apr 17, 2026 01:33 | CSHARP9.0.15 | Success | 10,118+968.72 RP | ||
| Apr 17, 2026 01:30 | ZIG0.14.0 | Success | 5,603+1'134.06 RP | ||
| Apr 17, 2026 00:17 | CPPclang++18.1.3 | Success | 5,513 | ||
| Apr 17, 2026 00:07 | GOgo1.26.1 | Success | 7,014 | ||
| Apr 17, 2026 00:04 | RUSTrust-1.94.0 | Success | 5,450 | ||
| Apr 16, 2026 07:40 | RUSTrust-1.94.0 | Success | 5,351 | ||
| Apr 14, 2026 21:22 | GOgo1.26.1 | Success | 6,765 | ||
| Apr 9, 2026 06:05 | GOgo1.26.2 | Success | 6,837 | ||
| Apr 9, 2026 05:59 | GOgo1.26.2 | Success | 6,939 | ||
| Apr 8, 2026 09:45 | CPPclang++18.1.3 | Success | 5,947 | ||
| Apr 8, 2026 09:42 | CPPg++13.3.0 | Success | 7,168 | ||
| Apr 8, 2026 08:57 | CPPg++13.3.0 | Success | 17,724 | ||
| Apr 8, 2026 06:36 | RUSTrust-1.94.1 | Success | 5,282 | ||
| Apr 7, 2026 07:46 | CPPclang++18.1.3 | Success | 5,918 | ||
| Apr 7, 2026 06:42 | CPPg++13.3.0 | Success | 19,836 | ||
| Apr 7, 2026 06:39 | CPPg++13.3.0 | Error | |||
| Apr 7, 2026 06:36 | CPPg++13.3.0 | Success | 19,089 | ||
| Apr 7, 2026 06:32 | CPPg++13.3.0 | Success | 19,657 | ||
| Apr 7, 2026 06:17 | CPPclang++18.1.3 | Success | 5,989 | ||
| Apr 1, 2026 01:34 | GOgo1.26.1 | Success | 18,659 | ||
| Apr 1, 2026 01:27 | GOgo1.26.1 | Success | 21,005 | ||
| Apr 1, 2026 01:27 | GOgo1.26.1 | Success | 18,245 | ||
| Apr 1, 2026 01:26 | GOgo1.26.1 | Success | 20,108 | ||
| Apr 1, 2026 01:06 | GOgo1.26.1 | Success | 22,366 | ||
| Mar 31, 2026 13:16 | CPPg++13.3.0 | Error | |||
| Mar 31, 2026 13:12 | CPPg++13.3.0 | Error | |||
| Mar 31, 2026 13:00 | CPPclang++18.1.3 | Success | 5,811 | ||
| Mar 31, 2026 12:26 | CPPg++13.3.0 | Error | |||
| Mar 31, 2026 12:23 | CPPg++13.3.0 | Error | |||
| Mar 31, 2026 12:05 | CPPg++13.3.0 | Error | |||
| Mar 31, 2026 12:01 | CPPg++13.3.0 | Error | |||
| Mar 31, 2026 12:00 | CPPg++13.3.0 | Error | |||
| Mar 31, 2026 11:56 | CPPg++13.3.0 | Error | |||
| Mar 31, 2026 11:51 | CPPg++13.3.0 | Error | |||
| Mar 31, 2026 11:47 | CPPg++13.3.0 | Error | |||
| Mar 31, 2026 11:42 | CPPg++13.3.0 | Error | |||
| Mar 31, 2026 11:39 | CPPg++13.3.0 | Error | |||
| Mar 31, 2026 11:32 | CPPg++13.3.0 | Error | |||
| Mar 31, 2026 11:30 | CPPg++13.3.0 | Error | |||
| Mar 31, 2026 11:21 | CPPg++13.3.0 | Error | |||
| Mar 31, 2026 11:19 | CPPg++13.3.0 | Error | |||
| Mar 31, 2026 11:14 | CPPg++13.3.0 | Error | |||
| Mar 31, 2026 11:10 | CPPg++13.3.0 | Error | |||
| Mar 31, 2026 11:07 | CPPg++13.3.0 | Error | |||
| Mar 31, 2026 11:02 | CPPg++13.3.0 | Error | |||
| Mar 31, 2026 10:58 | CPPg++13.3.0 | Error | |||
| Mar 31, 2026 10:55 | CPPg++13.3.0 | Error | |||
| Mar 31, 2026 10:52 | CPPg++13.3.0 | Error | |||
| Mar 31, 2026 10:49 | CPPg++13.3.0 | Error | |||
| Mar 31, 2026 10:47 | CPPg++13.3.0 | Error | |||
| Mar 31, 2026 10:45 | CPPg++13.3.0 | Error | |||
| Mar 31, 2026 10:41 | CPPclang++18.1.3 | Error | |||
| Mar 31, 2026 10:38 | CPPclang++18.1.3 | Error | |||
| Mar 31, 2026 10:36 | CPPclang++18.1.3 | Error | |||
| Mar 31, 2026 10:31 | CPPclang++18.1.3 | Error | |||
| Mar 31, 2026 10:29 | CPPclang++18.1.3 | Error | |||
| Mar 31, 2026 10:21 | CPPclang++18.1.3 | Error | |||
| Mar 31, 2026 10:17 | CPPclang++18.1.3 | Success | 18,605 | ||
| Mar 31, 2026 10:16 | CPPg++13.3.0 | Success | 21,054 | ||
| Mar 31, 2026 00:41 | CPPg++13.3.0 | Success | 7,612 | ||
| Mar 31, 2026 00:24 | CPPg++13.3.0 | Success | 6,227 | ||
| Mar 31, 2026 00:21 | CPPg++13.3.0 | Success | 6,295 | ||
| Mar 31, 2026 00:17 | CPPg++13.3.0 | Success | 6,143 | ||
| Mar 31, 2026 00:13 | CPPg++13.3.0 | Success | 5,874 | ||
| Mar 30, 2026 23:54 | CPPclang++18.1.3 | Success | 17,527 | ||
| Mar 30, 2026 22:10 | CPPclang++18.1.3 | Error | |||
| Mar 30, 2026 01:06 | RUSTrust-1.94.1 | Success | 19,160 | ||
| Mar 28, 2026 11:50 | CPPg++13.3.0 | Error | |||
| Mar 28, 2026 01:56 | RUSTrust-1.94.1 | Success | 5,093+179.04 RP | ||
| Mar 27, 2026 21:02 | RUSTrust-1.94.1 | Success | 126,310 | ||
| Mar 27, 2026 20:20 | RUSTrust-1.94.0 | Success | 16,535 | ||
| Mar 27, 2026 20:16 | RUSTrust-1.94.0 | Success | 153,489 | ||
| Mar 27, 2026 20:15 | RUSTrust-1.94.1 | Success | 155,999 | ||
| Mar 27, 2026 20:13 | RUSTrust-1.94.1 | Success | 155,389 | ||
| Mar 27, 2026 20:07 | RUSTrust-1.94.1 | Success | 162,063 | ||
| Mar 27, 2026 17:09 | RUSTrust-1.94.0 | Success | 17,426 | ||
| Mar 27, 2026 16:23 | CPPclang++18.1.3 | Success | 15,827 |