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 | |
|---|---|---|---|---|---|
| Nov 2, 2026 17:12 | CPPg++14.2.0 | Success | 19,123 | ||
| Nov 2, 2026 17:07 | CSHARP9.0.18 | Error | |||
| Nov 2, 2026 17:04 | CSHARP9.0.18 | Success | 1,270 | ||
| Nov 2, 2026 17:03 | CSHARP9.0.18 | Error | |||
| Nov 2, 2026 16:52 | CSHARP9.0.18 | Success | 1,268+18.61 RP | ||
| Nov 2, 2026 16:51 | CSHARP9.0.18 | Success | 1,271+257.47 RP | ||
| Nov 2, 2026 16:50 | CSHARP9.0.18 | Success | 1,314+578.00 RP | ||
| Nov 2, 2026 16:47 | ZIG0.15.1 | Success | 1,202+306.65 RP | ||
| Nov 2, 2026 16:47 | RUSTrust-1.95.0 | Success | 1,253 | ||
| Nov 2, 2026 16:46 | GOgo1.26.2 | Success | 1,195+475.54 RP | ||
| Nov 2, 2026 16:46 | CSHARP9.0.18 | Error | |||
| Nov 2, 2026 16:45 | CSHARP9.0.18 | Error | |||
| Nov 2, 2026 16:42 | CSHARP9.0.18 | Error | |||
| Nov 2, 2026 16:39 | CPPg++14.2.0 | Success | 27,533 | ||
| Nov 2, 2026 16:39 | CSHARP9.0.18 | Error | |||
| Nov 2, 2026 16:29 | CSHARP9.0.18 | Error | |||
| Nov 2, 2026 16:28 | ZIG0.15.1 | Success | 1,248+349.99 RP | ||
| Nov 2, 2026 16:28 | RUSTrust-1.95.0 | Success | 1,218+564.92 RP | ||
| Nov 2, 2026 16:28 | GOgo1.26.2 | Success | 1,267+651.53 RP | ||
| Nov 2, 2026 16:04 | CPPg++14.2.0 | Success | 34,055 | ||
| Nov 2, 2026 15:34 | ZIG0.15.1 | Success | 1,305+1'678.39 RP | ||
| Nov 2, 2026 15:34 | CSHARP9.0.18 | Success | 1,422+1'019.12 RP | ||
| Nov 2, 2026 15:33 | RUSTrust-1.95.0 | Success | 1,308+1'884.89 RP | ||
| Nov 2, 2026 15:33 | GOgo1.26.2 | Success | 1,381+1'033.80 RP | ||
| Nov 2, 2026 15:12 | CPPg++14.2.0 | Success | 1,187+1'482.55 RP | ||
| Nov 2, 2026 15:09 | CPPg++14.2.0 | Success | 15,612 | ||
| Nov 2, 2026 15:00 | CPPg++14.2.0 | Success | 1,334 | ||
| Nov 2, 2026 15:00 | CPPg++14.2.0 | Success | 1,392 | ||
| Nov 2, 2026 15:00 | CPPg++14.2.0 | Success | 1,405 | ||
| Nov 2, 2026 14:57 | CPPg++14.2.0 | Success | 1,327+193.65 RP | ||
| Nov 2, 2026 14:54 | CPPg++14.2.0 | Success | 20,956 | ||
| Nov 2, 2026 14:47 | CPPg++14.2.0 | Success | 4,041 | ||
| Nov 2, 2026 14:45 | CPPclang++20.1.2 | Success | 18,286 | ||
| Nov 2, 2026 14:37 | CPPg++14.2.0 | Success | 1,362+378.36 RP | ||
| Nov 2, 2026 14:36 | CPPg++14.2.0 | Success | 23,031 | ||
| Nov 2, 2026 14:34 | CPPg++14.2.0 | Success | 23,594 | ||
| Nov 2, 2026 14:33 | CPPg++14.2.0 | Success | 1,436+1'196.78 RP | ||
| Nov 2, 2026 14:30 | CPPg++14.2.0 | Success | 18,917 | ||
| Nov 2, 2026 14:24 | CPPg++14.2.0 | Success | 18,896 | ||
| Nov 2, 2026 14:23 | CPPg++14.2.0 | Success | 1,734+607.05 RP | ||
| Nov 2, 2026 14:18 | CPPg++14.2.0 | Success | 13,174 | ||
| Nov 2, 2026 14:17 | CPPg++14.2.0 | Success | 1,938+354.58 RP | ||
| Nov 2, 2026 14:12 | CPPg++14.2.0 | Success | 30,838 | ||
| Nov 2, 2026 14:10 | CPPg++14.2.0 | Success | 17,945+5.00 RP | ||
| Oct 26, 2026 23:27 | GOgo1.26.2 | Success | 3,239 | ||
| Oct 24, 2026 19:51 | RUSTrust-1.95.0 | Success | 2,697 | ||
| Oct 24, 2026 19:42 | ZIG0.15.1 | Success | 2,644 | ||
| Oct 20, 2026 20:47 | CPPclang++20.1.2 | Success | 2,732 | ||
| Oct 20, 2026 20:10 | CPPclang++20.1.2 | Success | 2,375 | ||
| Oct 19, 2026 12:18 | CPPg++14.2.0 | Success | 1,277+590.12 RP | ||
| Oct 19, 2026 12:13 | CPPg++14.2.0 | Success | 1,328 | ||
| Oct 19, 2026 12:06 | CPPg++14.2.0 | Success | 1,357 | ||
| Oct 19, 2026 12:01 | CPPg++14.2.0 | Success | 1,334 | ||
| Oct 19, 2026 11:48 | CPPg++14.2.0 | Success | 1,327+5'235.55 RP | ||
| Oct 19, 2026 11:07 | CPPg++14.2.0 | Success | 6,331 | ||
| Oct 19, 2026 11:04 | CPPg++14.2.0 | Success | 4,835 | ||
| Oct 19, 2026 04:10 | CPPg++10.5.0 | Success | 288,924+34.61 RP | ||
| Oct 18, 2026 09:00 | CPPg++14.2.0 | Error | +475.33 RP | ||
| Oct 17, 2026 01:10 | CPPclang++18.1.3 | Success | 1,679 | ||
| Oct 17, 2026 01:05 | CPPclang++18.1.3 | Error | |||
| Oct 17, 2026 01:04 | CPPclang++18.1.3 | Success | 1,870 | ||
| Oct 16, 2026 22:06 | ZIG0.15.1 | Error | +1'263.90 RP | ||
| Oct 16, 2026 22:00 | RUSTrust-1.95.0 | Error | +4'003.73 RP | ||
| Oct 16, 2026 21:32 | GOgo1.26.2 | Success | 1,718 | ||
| Oct 16, 2026 21:31 | ZIG0.15.1 | Success | 1,726 | ||
| Oct 16, 2026 21:30 | RUSTrust-1.95.0 | Error | +87.36 RP | ||
| Oct 16, 2026 21:28 | CPPclang++18.1.3 | Error | +132.62 RP | ||
| Oct 15, 2026 15:20 | GOgo1.27.2 | Error | |||
| Oct 14, 2026 06:33 | CPPclang++18.1.3 | Error | +67.91 RP | ||
| Oct 14, 2026 02:49 | GOgo1.26.2 | Success | 1,663 | ||
| Oct 14, 2026 02:31 | ZIG0.15.1 | Error | |||
| 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 |