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 25, 2025 16:36 | RUSTrust-1.92.0 | Success | 14,906 | ||
| Dec 25, 2025 16:29 | RUSTrust-1.92.0 | Success | 13,587+6.23 RP | ||
| Dec 25, 2025 16:19 | RUSTrust-1.92.0 | Success | 14,906 | ||
| Dec 25, 2025 16:05 | RUSTrust-1.92.0 | Success | 15,216 | ||
| Dec 25, 2025 15:58 | RUSTrust-1.92.0 | Success | 13,703+0.59 RP | ||
| Dec 25, 2025 05:24 | CPPclang++18.1.3 | Success | 194,094 | ||
| Dec 25, 2025 05:24 | CPPclang++18.1.3 | Success | 48,960 | ||
| Dec 25, 2025 05:24 | CPPclang++18.1.3 | Success | 50,375 | ||
| Dec 25, 2025 05:21 | CPPclang++18.1.3 | Success | 109,125 | ||
| Dec 25, 2025 05:13 | RUSTrust-1.92.0 | Success | 13,714+33.14 RP | ||
| Dec 25, 2025 05:13 | RUSTrust-1.92.0 | Success | 15,845 | ||
| Dec 25, 2025 04:26 | RUSTrust-1.92.0 | Success | 14,367+2.80 RP | ||
| Dec 25, 2025 04:24 | GOgo1.25.5 | Success | 22,214+36.62 RP | ||
| Dec 25, 2025 04:23 | GOgo1.25.5 | Success | 24,181+15.82 RP | ||
| Dec 25, 2025 04:23 | GOgo1.25.5 | Success | 26,579 | ||
| Dec 25, 2025 04:23 | GOgo1.25.5 | Success | 25,420 | ||
| Dec 25, 2025 04:19 | CPPclang++18.1.3 | Success | 16,978 | ||
| Dec 25, 2025 04:18 | CPPclang++18.1.3 | Success | 14,425+6.76 RP | ||
| Dec 25, 2025 04:18 | CPPg++13.3.0 | Success | 14,770 | ||
| Dec 25, 2025 04:16 | CPPg++13.3.0 | Success | 18,821 | ||
| Dec 25, 2025 04:12 | RUSTrust-1.92.0 | Success | 24,282 | ||
| Dec 25, 2025 04:10 | RUSTrust-1.92.0 | Success | 14,652 | ||
| Dec 25, 2025 04:10 | GOgo1.25.5 | Success | 25,143+39.33 RP | ||
| Dec 25, 2025 04:00 | GOgo1.25.5 | Success | 27,902+9.98 RP | ||
| Dec 25, 2025 03:59 | GOgo1.25.5 | Success | 28,701+206.46 RP | ||
| Dec 25, 2025 03:57 | CPPg++13.3.0 | Success | 14,900 | ||
| Dec 25, 2025 03:56 | RUSTrust-1.92.0 | Success | 14,674 | ||
| Dec 25, 2025 03:55 | RUSTrust-1.92.0 | Success | 14,750 | ||
| Dec 25, 2025 03:54 | RUSTrust-1.92.0 | Success | 15,072 | ||
| Dec 25, 2025 03:46 | RUSTrust-1.92.0 | Success | 15,228 | ||
| Dec 25, 2025 01:40 | RUSTrust-1.92.0 | Success | 14,567+0.71 RP | ||
| Dec 25, 2025 01:36 | CPPg++13.3.0 | Success | 15,335 | ||
| Dec 25, 2025 01:30 | RUSTrust-1.92.0 | Success | 14,599 | ||
| Dec 25, 2025 01:27 | CPPclang++18.1.3 | Success | 16,289 | ||
| Dec 25, 2025 01:21 | RUSTrust-1.92.0 | Error | |||
| Dec 25, 2025 01:21 | RUSTrust-1.92.0 | Error | |||
| Dec 25, 2025 01:21 | RUSTrust-1.92.0 | Error | |||
| Dec 25, 2025 01:18 | CPPclang++18.1.3 | Error | |||
| Dec 25, 2025 01:10 | CPPclang++18.1.3 | Error | |||
| Dec 25, 2025 01:10 | CPPg++13.3.0 | Error | |||
| Dec 25, 2025 01:10 | CPPg++13.3.0 | Error | |||
| Dec 25, 2025 01:08 | RUSTrust-1.92.0 | Success | 14,940 | ||
| Dec 25, 2025 01:04 | RUSTrust-1.92.0 | Error | |||
| Dec 25, 2025 01:03 | RUSTrust-1.92.0 | Error | |||
| Dec 24, 2025 22:25 | RUSTrust-1.92.0 | Success | 14,885 | ||
| Dec 24, 2025 22:24 | RUSTrust-1.92.0 | Success | 15,934 | ||
| Dec 24, 2025 22:22 | RUSTrust-1.92.0 | Success | 14,582+15.22 RP | ||
| Dec 24, 2025 22:21 | RUSTrust-1.92.0 | Success | 41,617 | ||
| Dec 24, 2025 22:20 | RUSTrust-1.92.0 | Success | 1,511,272 | ||
| Dec 24, 2025 22:19 | RUSTrust-1.92.0 | Success | 16,762 | ||
| Dec 24, 2025 22:19 | RUSTrust-1.92.0 | Success | 29,810 | ||
| Dec 24, 2025 22:18 | RUSTrust-1.92.0 | Success | 18,704 | ||
| Dec 24, 2025 22:18 | RUSTrust-1.92.0 | Success | 59,419 | ||
| Dec 24, 2025 22:16 | RUSTrust-1.92.0 | Success | 17,448 | ||
| Dec 24, 2025 22:14 | RUSTrust-1.92.0 | Success | 14,913+3.13 RP | ||
| Dec 24, 2025 22:14 | RUSTrust-1.92.0 | Error | |||
| Dec 24, 2025 22:13 | RUSTrust-1.92.0 | Success | 1,040,124 | ||
| Dec 24, 2025 22:13 | RUSTrust-1.92.0 | Success | 14,983+83.04 RP | ||
| Dec 24, 2025 22:12 | RUSTrust-1.92.0 | Success | 17,978 | ||
| Dec 24, 2025 22:10 | RUSTrust-1.92.0 | Success | 17,112+2.92 RP | ||
| Dec 24, 2025 22:08 | RUSTrust-1.92.0 | Error | |||
| Dec 24, 2025 22:05 | RUSTrust-1.92.0 | Success | 941,546 | ||
| Dec 24, 2025 22:04 | RUSTrust-1.92.0 | Error | |||
| Dec 24, 2025 22:04 | RUSTrust-1.92.0 | Success | 20,682 | ||
| Dec 24, 2025 22:02 | RUSTrust-1.92.0 | Error | |||
| Dec 24, 2025 22:02 | RUSTrust-1.92.0 | Error | |||
| Dec 24, 2025 21:57 | RUSTrust-1.92.0 | Error | |||
| Dec 24, 2025 21:50 | RUSTrust-1.92.0 | Error | |||
| Dec 24, 2025 21:47 | RUSTrust-1.92.0 | Error | |||
| Dec 24, 2025 21:39 | RUSTrust-1.92.0 | Error | |||
| Dec 24, 2025 21:39 | RUSTrust-1.92.0 | Error | |||
| Dec 24, 2025 21:39 | RUSTrust-1.92.0 | Error | |||
| Dec 24, 2025 21:38 | RUSTrust-1.92.0 | Error | |||
| Dec 24, 2025 21:38 | RUSTrust-1.92.0 | Error | |||
| Dec 24, 2025 15:00 | RUSTrust-1.92.0 | Success | 21,492 | ||
| Dec 24, 2025 04:43 | RUSTrust-1.92.0 | Error | |||
| Dec 24, 2025 04:43 | RUSTrust-1.92.0 | Success | 18,415 | ||
| Dec 24, 2025 04:34 | RUSTrust-1.92.0 | Success | 19,544 | ||
| Dec 24, 2025 04:33 | RUSTrust-1.92.0 | Success | 27,648 | ||
| Dec 24, 2025 04:28 | RUSTrust-1.92.0 | Success | 17,198+7.67 RP | ||
| Dec 24, 2025 04:26 | RUSTrust-1.92.0 | Success | 22,014 | ||
| Dec 24, 2025 04:25 | RUSTrust-1.92.0 | Success | 17,977 | ||
| Dec 24, 2025 04:25 | RUSTrust-1.92.0 | Error | |||
| Dec 24, 2025 04:25 | RUSTrust-1.92.0 | Success | 21,728 | ||
| Dec 24, 2025 04:21 | RUSTrust-1.92.0 | Success | 18,430 | ||
| Dec 24, 2025 04:15 | RUSTrust-1.92.0 | Error | |||
| Dec 24, 2025 04:14 | RUSTrust-1.92.0 | Error | |||
| Dec 24, 2025 04:12 | RUSTrust-1.92.0 | Success | 18,784 | ||
| Dec 24, 2025 04:11 | RUSTrust-1.92.0 | Error | |||
| Dec 24, 2025 04:09 | RUSTrust-1.92.0 | Success | 21,140 | ||
| Dec 24, 2025 04:09 | RUSTrust-1.92.0 | Success | 18,752 | ||
| Dec 24, 2025 04:04 | RUSTrust-1.92.0 | Success | 112,703 | ||
| Dec 24, 2025 04:03 | RUSTrust-1.92.0 | Error | |||
| Dec 24, 2025 03:56 | RUSTrust-1.92.0 | Success | 18,949 | ||
| Dec 24, 2025 03:49 | RUSTrust-1.92.0 | Success | 21,256 | ||
| Dec 24, 2025 03:49 | RUSTrust-1.92.0 | Error | |||
| Dec 24, 2025 03:49 | RUSTrust-1.92.0 | Success | 19,223 | ||
| Dec 24, 2025 03:49 | RUSTrust-1.92.0 | Success | 17,428+131.60 RP | ||
| Dec 24, 2025 03:42 | RUSTrust-1.92.0 | Error | |||
| Dec 24, 2025 03:40 | RUSTrust-1.92.0 | Success | 22,615+205.92 RP |