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 24, 2025 03:39 | RUSTrust-1.92.0 | Error | |||
| Dec 24, 2025 03:34 | RUSTrust-1.92.0 | Error | |||
| Dec 24, 2025 03:32 | RUSTrust-1.92.0 | Error | |||
| Dec 24, 2025 03:31 | RUSTrust-1.92.0 | Success | 42,326+19.00 RP | ||
| Dec 24, 2025 03:27 | RUSTrust-1.92.0 | Success | 64,881 | ||
| Dec 24, 2025 03:23 | RUSTrust-1.92.0 | Error | |||
| Dec 24, 2025 03:20 | RUSTrust-1.92.0 | Success | 132,526 | ||
| Dec 24, 2025 03:16 | RUSTrust-1.92.0 | Error | |||
| Dec 24, 2025 03:14 | RUSTrust-1.92.0 | Error | |||
| Dec 24, 2025 03:12 | RUSTrust-1.92.0 | Error | |||
| Dec 24, 2025 03:11 | RUSTrust-1.92.0 | Success | 143,153 | ||
| Dec 24, 2025 03:11 | RUSTrust-1.92.0 | Success | 46,027+17.30 RP | ||
| Dec 24, 2025 03:10 | RUSTrust-1.92.0 | Success | 97,513 | ||
| Dec 24, 2025 01:20 | RUSTrust-1.92.0 | Error | |||
| Dec 24, 2025 01:17 | RUSTrust-1.92.0 | Error | |||
| Dec 24, 2025 01:17 | RUSTrust-1.92.0 | Success | 353,445 | ||
| Dec 24, 2025 01:09 | RUSTrust-1.92.0 | Success | 50,059 | ||
| Dec 24, 2025 01:07 | RUSTrust-1.92.0 | Error | |||
| Dec 24, 2025 01:03 | RUSTrust-1.92.0 | Error | |||
| Dec 24, 2025 01:03 | RUSTrust-1.92.0 | Success | 71,392 | ||
| Dec 24, 2025 01:03 | RUSTrust-1.92.0 | Success | 308,791 | ||
| Dec 24, 2025 01:02 | RUSTrust-1.92.0 | Success | 83,094 | ||
| Dec 24, 2025 00:58 | RUSTrust-1.92.0 | Success | 1,026,460 | ||
| Dec 24, 2025 00:56 | RUSTrust-1.92.0 | Success | 53,810 | ||
| Dec 24, 2025 00:56 | RUSTrust-1.92.0 | Success | 1,335,284 | ||
| Dec 24, 2025 00:55 | RUSTrust-1.92.0 | Success | 50,010+5.55 RP | ||
| Dec 24, 2025 00:43 | RUSTrust-1.92.0 | Success | 130,103 | ||
| Dec 24, 2025 00:42 | RUSTrust-1.92.0 | Success | 129,915 | ||
| Dec 23, 2025 16:24 | RUSTrust-1.92.0 | Error | |||
| Dec 23, 2025 14:54 | RUSTrust-1.92.0 | Success | 80,480 | ||
| Dec 23, 2025 05:36 | RUSTrust-1.92.0 | Success | 63,800 | ||
| Dec 23, 2025 05:31 | RUSTrust-1.92.0 | Success | 57,773 | ||
| Dec 23, 2025 05:28 | RUSTrust-1.92.0 | Success | 60,972 | ||
| Dec 23, 2025 05:27 | RUSTrust-1.92.0 | Success | 53,468 | ||
| Dec 23, 2025 05:27 | RUSTrust-1.92.0 | Success | 51,439+32.03 RP | ||
| Dec 23, 2025 04:13 | CPPg++13.3.0 | Success | 121,311 | ||
| Dec 23, 2025 04:10 | CPPg++13.3.0 | Success | 121,309 | ||
| Dec 23, 2025 04:09 | CPPg++13.3.0 | Success | 109,365 | ||
| Dec 22, 2025 22:50 | CPPg++13.3.0 | Success | 61,584+4.38 RP | ||
| Dec 22, 2025 15:23 | RUSTrust-1.92.0 | Success | 68,657 | ||
| Dec 22, 2025 15:15 | RUSTrust-1.92.0 | Success | 83,738 | ||
| Dec 22, 2025 04:05 | RUSTrust-1.92.0 | Success | 78,103 | ||
| Dec 22, 2025 03:00 | RUSTrust-1.92.0 | Error | |||
| Dec 22, 2025 02:53 | RUSTrust-1.92.0 | Success | 100,179 | ||
| Dec 22, 2025 02:40 | RUSTrust-1.92.0 | Success | 216,734 | ||
| Dec 22, 2025 02:37 | RUSTrust-1.92.0 | Error | |||
| Dec 22, 2025 02:33 | RUSTrust-1.92.0 | Success | 71,970 | ||
| Dec 22, 2025 02:08 | RUSTrust-1.92.0 | Error | |||
| Dec 21, 2025 16:04 | RUSTrust-1.92.0 | Success | 141,057 | ||
| Dec 21, 2025 15:57 | RUSTrust-1.92.0 | Success | 68,095 | ||
| Dec 21, 2025 15:55 | RUSTrust-1.92.0 | Success | 72,145 | ||
| Dec 21, 2025 05:15 | RUSTrust-1.92.0 | Success | 80,424 | ||
| Dec 21, 2025 05:13 | RUSTrust-1.92.0 | Success | 99,058 | ||
| Dec 21, 2025 04:46 | RUSTrust-1.92.0 | Error | |||
| Dec 21, 2025 04:32 | RUSTrust-1.92.0 | Success | 89,353 | ||
| Dec 21, 2025 04:16 | RUSTrust-1.92.0 | Error | |||
| Dec 21, 2025 03:59 | RUSTrust-1.92.0 | Success | 120,207 | ||
| Dec 21, 2025 03:56 | RUSTrust-1.92.0 | Success | 63,290+6.13 RP | ||
| Dec 21, 2025 03:55 | RUSTrust-1.92.0 | Success | 152,145 | ||
| Dec 20, 2025 20:11 | RUSTrust-1.92.0 | Success | 66,975 | ||
| Dec 20, 2025 18:47 | RUSTrust-1.92.0 | Success | 68,524 | ||
| Dec 20, 2025 12:07 | RUSTrust-1.92.0 | Success | 40,753+89.54 RP | ||
| Dec 19, 2025 19:56 | RUSTrust-1.92.0 | Success | 64,167+107.73 RP | ||
| Dec 19, 2025 19:38 | RUSTrust-1.92.0 | Success | 90,008 | ||
| Dec 19, 2025 19:31 | RUSTrust-1.92.0 | Success | 207,853+48.11 RP | ||
| Dec 19, 2025 19:04 | RUSTrust-1.92.0 | Success | 65,843+1.08 RP | ||
| Dec 19, 2025 18:38 | RUSTrust-1.92.0 | Success | 66,316+0.74 RP | ||
| Dec 19, 2025 18:35 | RUSTrust-1.92.0 | Success | 74,120 | ||
| Dec 19, 2025 18:28 | RUSTrust-1.92.0 | Success | 66,645+47.43 RP | ||
| Dec 19, 2025 18:12 | RUSTrust-1.92.0 | Success | 193,399 | ||
| Dec 19, 2025 17:38 | RUSTrust-1.92.0 | Error | |||
| Dec 19, 2025 16:54 | RUSTrust-1.92.0 | Error | |||
| Dec 19, 2025 16:46 | RUSTrust-1.92.0 | Success | 97,568 | ||
| Dec 19, 2025 16:45 | RUSTrust-1.92.0 | Success | 148,786 | ||
| Dec 19, 2025 16:40 | RUSTrust-1.92.0 | Success | 311,167 | ||
| Dec 19, 2025 16:06 | RUSTrust-1.92.0 | Success | 97,444+84.64 RP | ||
| Dec 19, 2025 15:27 | RUSTrust-1.92.0 | Success | 556,027+17.98 RP | ||
| Dec 19, 2025 15:25 | RUSTrust-1.92.0 | Error | |||
| Dec 19, 2025 15:11 | RUSTrust-1.92.0 | Error | |||
| Nov 26, 2025 14:06 | CPPg++13.3.0 | Error | |||
| Nov 26, 2025 13:40 | GOgo1.25.4 | Success | 71,469 | ||
| Nov 26, 2025 12:35 | GOgo1.25.4 | Success | 70,444+5.04 RP | ||
| Nov 26, 2025 12:19 | GOgo1.25.4 | Success | 71,715+36.04 RP | ||
| Nov 26, 2025 12:09 | GOgo1.25.4 | Success | 82,356+119.46 RP | ||
| Nov 26, 2025 08:15 | GOgo1.25.4 | Error | |||
| Nov 26, 2025 08:12 | GOgo1.25.4 | Error | |||
| Nov 26, 2025 07:38 | GOgo1.25.4 | Success | 162,078+60.00 RP | ||
| Nov 26, 2025 07:34 | GOgo1.25.4 | Error | |||
| Nov 26, 2025 07:32 | GOgo1.25.4 | Error | |||
| Nov 26, 2025 06:46 | GOgo1.25.4 | Error | |||
| Nov 24, 2025 13:04 | GOgo1.23.12 | Success | 317,491 | ||
| Nov 24, 2025 12:42 | GOgo1.23.12 | Error | |||
| Nov 24, 2025 11:59 | GOgo1.25.4 | Success | 315,507+37.90 RP | ||
| Nov 24, 2025 11:36 | GOgo1.25.4 | Error | |||
| Nov 23, 2025 17:30 | GOgo1.25.4 | Error | |||
| Nov 23, 2025 16:26 | GOgo1.25.4 | Error | |||
| Nov 22, 2025 22:19 | GOgo1.25.4 | Error | |||
| Nov 22, 2025 21:49 | GOgo1.25.4 | Error | |||
| Nov 21, 2025 12:48 | GOgo1.25.4 | Error | |||
| Nov 21, 2025 12:39 | GOgo1.25.4 | Error |