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 8, 2026 06:36 | CPPg++14.2.0 | Success | 1,023 | ||
| Nov 8, 2026 06:33 | CPPg++14.2.0 | Success | 1,050 | ||
| Nov 8, 2026 06:29 | CPPg++14.2.0 | Success | 1,073 | ||
| Nov 8, 2026 06:25 | CPPg++14.2.0 | Success | 1,005+501.86 RP | ||
| Nov 8, 2026 06:23 | CPPg++14.2.0 | Success | 1,075 | ||
| Nov 8, 2026 06:17 | CPPg++14.2.0 | Success | 1,031 | ||
| Nov 8, 2026 06:12 | CPPg++14.2.0 | Success | 1,061 | ||
| Nov 8, 2026 06:00 | CPPg++14.2.0 | Success | 1,031+259.88 RP | ||
| Nov 8, 2026 05:41 | CPPg++14.2.0 | Success | 1,045+1'988.23 RP | ||
| Nov 6, 2026 17:07 | CPPg++14.2.0 | Success | 1,073+683.56 RP | ||
| Nov 6, 2026 17:06 | GOgo1.26.2 | Success | 1,101+272.08 RP | ||
| Nov 6, 2026 16:58 | CPPg++14.2.0 | Success | 13,880 | ||
| Nov 6, 2026 16:45 | CPPg++14.2.0 | Success | 9,537 | ||
| Nov 6, 2026 16:37 | CPPg++14.2.0 | Success | 17,571 | ||
| Nov 6, 2026 16:22 | GOgo1.26.2 | Success | 1,141 | ||
| Nov 6, 2026 16:21 | RUSTrust-1.95.0 | Success | 1,101+305.76 RP | ||
| Nov 6, 2026 16:21 | CPPg++14.2.0 | Success | 1,127+62.54 RP | ||
| Nov 6, 2026 16:21 | ZIG0.15.1 | Success | 1,122 | ||
| Nov 6, 2026 16:12 | CPPg++14.2.0 | Success | 22,165 | ||
| Nov 6, 2026 16:04 | CPPg++14.2.0 | Success | 1,147 | ||
| Nov 6, 2026 15:59 | CPPg++14.2.0 | Success | 23,329 | ||
| Nov 6, 2026 15:49 | CPPg++14.2.0 | Success | 18,800 | ||
| Nov 6, 2026 15:43 | RUSTrust-1.95.0 | Success | 1,133+315.49 RP | ||
| Nov 6, 2026 15:43 | CPPg++14.2.0 | Success | 1,135+114.92 RP | ||
| Nov 6, 2026 15:18 | ZIG0.15.1 | Success | 1,107+936.81 RP | ||
| Nov 6, 2026 15:18 | RUSTrust-1.95.0 | Success | 1,175+300.46 RP | ||
| Nov 6, 2026 15:18 | GOgo1.26.2 | Success | 1,135+557.29 RP | ||
| Nov 6, 2026 15:04 | CPPg++14.2.0 | Success | 1,150+542.10 RP | ||
| Nov 6, 2026 14:58 | CPPg++14.2.0 | Success | 19,198 | ||
| 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 |