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 | |
|---|---|---|---|---|---|
| Dec 29, 2025 00:05 | RUSTrust-1.92.0 | Success | 5,247+17.99 RP | ||
| Dec 29, 2025 00:01 | CPPg++13.3.0 | Success | 5,398 | ||
| Dec 28, 2025 23:58 | CPPclang++18.1.3 | Success | 5,388 | ||
| Dec 28, 2025 23:45 | RUSTrust-1.92.0 | Success | 5,804 | ||
| Dec 28, 2025 04:02 | ZIG0.14.0 | Success | 25,884 | ||
| Dec 28, 2025 03:01 | CPPg++13.3.0 | Success | 145,012 | ||
| Dec 28, 2025 02:57 | ZIG0.14.0 | Success | 22,920+73.56 RP | ||
| Dec 28, 2025 02:45 | ZIG0.14.0 | Success | 27,568+63.86 RP | ||
| Dec 28, 2025 00:56 | RUSTrust-1.92.0 | Success | 131,491+18.74 RP | ||
| Dec 28, 2025 00:45 | RUSTrust-1.92.0 | Success | 174,500+6.82 RP | ||
| Dec 28, 2025 00:42 | RUSTrust-1.92.0 | Success | 203,049 | ||
| Dec 28, 2025 00:38 | RUSTrust-1.92.0 | Success | 217,628 | ||
| Dec 28, 2025 00:23 | RUSTrust-1.92.0 | Success | 223,578 | ||
| Dec 28, 2025 00:15 | RUSTrust-1.92.0 | Error | |||
| Dec 28, 2025 00:07 | RUSTrust-1.92.0 | Error | |||
| Dec 27, 2025 23:01 | RUSTrust-1.92.0 | Success | 198,063+50.49 RP | ||
| Dec 27, 2025 22:34 | ZIG0.14.0 | Success | 33,458 | ||
| Dec 27, 2025 19:16 | GOgo1.25.5 | Success | 8,446+107.91 RP | ||
| Dec 27, 2025 18:57 | CPPclang++18.1.3 | Success | 5,142+217.56 RP | ||
| Dec 27, 2025 18:15 | GOgo1.25.5 | Success | 9,876 | ||
| Dec 27, 2025 16:02 | GOgo1.25.5 | Success | 9,796 | ||
| Dec 27, 2025 15:33 | GOgo1.25.5 | Success | 9,293+90.95 RP | ||
| Dec 27, 2025 15:25 | RUSTrust-1.92.0 | Success | 5,449 | ||
| Dec 27, 2025 15:24 | CPPclang++18.1.3 | Success | 5,641 | ||
| Dec 27, 2025 15:19 | CPPclang++18.1.3 | Success | 5,605+114.67 RP | ||
| Dec 27, 2025 15:10 | RUSTrust-1.92.0 | Success | 5,936 | ||
| Dec 26, 2025 23:39 | RUSTrust-1.92.0 | Success | 5,297+114.06 RP | ||
| Dec 26, 2025 23:36 | RUSTrust-1.92.0 | Success | 5,665 | ||
| Dec 26, 2025 23:35 | RUSTrust-1.92.0 | Success | 5,959 | ||
| Dec 26, 2025 23:35 | RUSTrust-1.92.0 | Success | 5,641 | ||
| Dec 26, 2025 23:35 | RUSTrust-1.92.0 | Success | 6,012 | ||
| Dec 26, 2025 23:25 | RUSTrust-1.92.0 | Success | 5,462+372.72 RP | ||
| Dec 26, 2025 23:23 | CPPclang++18.1.3 | Success | 14,496 | ||
| Dec 26, 2025 23:13 | GOgo1.25.5 | Success | 10,688 | ||
| Dec 26, 2025 23:02 | CPPclang++18.1.3 | Success | 6,387 | ||
| Dec 26, 2025 22:57 | RUSTrust-1.92.0 | Success | 6,431 | ||
| Dec 26, 2025 22:56 | CPPclang++18.1.3 | Success | 6,307 | ||
| Dec 26, 2025 22:55 | GOgo1.25.5 | Success | 10,151+3.77 RP | ||
| Dec 26, 2025 22:53 | RUSTrust-1.92.0 | Success | 6,081+14.54 RP | ||
| Dec 26, 2025 22:48 | RUSTrust-1.92.0 | Success | 6,334 | ||
| Dec 26, 2025 22:38 | GOgo1.25.5 | Success | 10,190+531.19 RP | ||
| Dec 26, 2025 22:36 | RUSTrust-1.92.0 | Success | 6,143 | ||
| Dec 26, 2025 22:36 | RUSTrust-1.92.0 | Success | 7,308 | ||
| Dec 26, 2025 22:36 | RUSTrust-1.92.0 | Success | 6,764 | ||
| Dec 26, 2025 22:34 | CPPclang++18.1.3 | Success | 7,279 | ||
| Dec 26, 2025 22:34 | CPPclang++18.1.3 | Success | 6,929 | ||
| Dec 26, 2025 22:32 | RUSTrust-1.92.0 | Success | 6,108+48.65 RP | ||
| Dec 26, 2025 22:23 | CPPclang++18.1.3 | Success | 6,413 | ||
| Dec 26, 2025 22:09 | CPPg++13.3.0 | Success | 7,913 | ||
| Dec 26, 2025 22:04 | CPPclang++18.1.3 | Success | 6,620 | ||
| Dec 26, 2025 17:35 | RUSTrust-1.92.0 | Success | 6,684 | ||
| Dec 26, 2025 17:34 | RUSTrust-1.92.0 | Success | 6,512 | ||
| Dec 26, 2025 17:32 | RUSTrust-1.92.0 | Success | 6,294+83.92 RP | ||
| Dec 26, 2025 17:30 | RUSTrust-1.92.0 | Success | 6,645+27.13 RP | ||
| Dec 26, 2025 17:28 | RUSTrust-1.92.0 | Success | 6,767+170.91 RP | ||
| Dec 26, 2025 17:15 | RUSTrust-1.92.0 | Success | 8,063 | ||
| Dec 26, 2025 17:06 | RUSTrust-1.92.0 | Success | 7,892 | ||
| Dec 26, 2025 16:42 | RUSTrust-1.92.0 | Error | |||
| Dec 26, 2025 15:38 | RUSTrust-1.92.0 | Success | 7,652+9.33 RP | ||
| Dec 26, 2025 15:38 | RUSTrust-1.92.0 | Success | 7,707+59.28 RP | ||
| Dec 26, 2025 15:33 | RUSTrust-1.92.0 | Success | 8,076+3.52 RP | ||
| Dec 26, 2025 15:30 | RUSTrust-1.92.0 | Success | 8,218 | ||
| Dec 26, 2025 15:22 | RUSTrust-1.92.0 | Success | 8,099+79.32 RP | ||
| Dec 26, 2025 15:16 | RUSTrust-1.92.0 | Success | 9,186 | ||
| Dec 26, 2025 15:14 | RUSTrust-1.92.0 | Success | 8,934 | ||
| Dec 26, 2025 15:13 | RUSTrust-1.92.0 | Success | 8,831 | ||
| Dec 26, 2025 15:04 | RUSTrust-1.92.0 | Success | 8,655+267.07 RP | ||
| Dec 26, 2025 14:32 | RUSTrust-1.92.0 | Error | |||
| Dec 26, 2025 04:24 | RUSTrust-1.92.0 | Error | |||
| Dec 26, 2025 03:42 | RUSTrust-1.92.0 | Success | 13,408 | ||
| Dec 26, 2025 03:41 | RUSTrust-1.92.0 | Success | 11,257+113.56 RP | ||
| Dec 26, 2025 03:30 | RUSTrust-1.92.0 | Success | 14,126 | ||
| Dec 26, 2025 03:27 | RUSTrust-1.92.0 | Success | 15,522 | ||
| Dec 26, 2025 03:04 | RUSTrust-1.92.0 | Success | 24,397 | ||
| Dec 26, 2025 03:04 | RUSTrust-1.92.0 | Success | 13,535 | ||
| Dec 26, 2025 03:04 | RUSTrust-1.92.0 | Success | 14,328 | ||
| Dec 26, 2025 01:32 | RUSTrust-1.92.0 | Error | |||
| Dec 26, 2025 01:25 | RUSTrust-1.92.0 | Error | |||
| Dec 26, 2025 01:10 | RUSTrust-1.92.0 | Success | 13,538 | ||
| Dec 26, 2025 01:09 | RUSTrust-1.92.0 | Success | 13,240 | ||
| Dec 26, 2025 01:04 | RUSTrust-1.92.0 | Success | 13,445 | ||
| Dec 25, 2025 22:04 | RUSTrust-1.92.0 | Success | 13,265 | ||
| Dec 25, 2025 22:02 | RUSTrust-1.92.0 | Success | 13,793 | ||
| Dec 25, 2025 21:55 | RUSTrust-1.92.0 | Success | 21,288 | ||
| Dec 25, 2025 21:54 | RUSTrust-1.92.0 | Success | 20,326 | ||
| Dec 25, 2025 21:53 | RUSTrust-1.92.0 | Success | 14,024 | ||
| Dec 25, 2025 21:52 | RUSTrust-1.92.0 | Success | 13,436 | ||
| Dec 25, 2025 21:51 | RUSTrust-1.92.0 | Success | 13,830 | ||
| Dec 25, 2025 21:50 | RUSTrust-1.92.0 | Success | 13,448 | ||
| Dec 25, 2025 21:14 | RUSTrust-1.92.0 | Success | 15,555 | ||
| Dec 25, 2025 21:10 | RUSTrust-1.92.0 | Success | 14,303 | ||
| Dec 25, 2025 21:04 | RUSTrust-1.92.0 | Success | 14,894 | ||
| Dec 25, 2025 19:27 | RUSTrust-1.92.0 | Success | 13,656 | ||
| Dec 25, 2025 19:26 | RUSTrust-1.92.0 | Success | 16,446 | ||
| Dec 25, 2025 19:24 | RUSTrust-1.92.0 | Success | 12,907+20.80 RP | ||
| Dec 25, 2025 19:24 | RUSTrust-1.92.0 | Success | 13,263+17.98 RP | ||
| Dec 25, 2025 19:23 | RUSTrust-1.92.0 | Success | 14,544 | ||
| Dec 25, 2025 18:26 | RUSTrust-1.92.0 | Success | 13,982 | ||
| Dec 25, 2025 18:24 | RUSTrust-1.92.0 | Success | 13,709 | ||
| Dec 25, 2025 18:19 | RUSTrust-1.92.0 | Success | 14,212 |