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 | |
|---|---|---|---|---|---|
| Sep 1, 2026 15:42 | CPPg++14.2.0 | Error | |||
| Sep 1, 2026 15:39 | CPPg++14.2.0 | Error | |||
| Sep 1, 2026 15:27 | CPPg++14.2.0 | Error | |||
| Sep 1, 2026 15:22 | CPPg++14.2.0 | Error | |||
| Sep 1, 2026 14:44 | CPPg++14.2.0 | Error | |||
| Sep 1, 2026 14:27 | CPPg++14.2.0 | Error | |||
| Sep 1, 2026 14:12 | CPPg++14.2.0 | Error | |||
| Sep 1, 2026 14:07 | CPPg++14.2.0 | Error | |||
| Sep 1, 2026 13:58 | CPPg++14.2.0 | Error | |||
| Sep 1, 2026 13:34 | CPPg++14.2.0 | Error | |||
| Sep 1, 2026 13:23 | CPPg++14.2.0 | Error | |||
| Sep 1, 2026 13:18 | CPPg++14.2.0 | Error | |||
| Sep 1, 2026 13:14 | CPPg++14.2.0 | Error | |||
| Sep 1, 2026 13:01 | CPPg++14.2.0 | Error | |||
| Sep 1, 2026 12:47 | CPPg++14.2.0 | Error | |||
| Sep 1, 2026 12:22 | CPPg++14.2.0 | Error | |||
| Sep 1, 2026 12:14 | CPPg++14.2.0 | Error | |||
| Sep 1, 2026 11:57 | CPPg++14.2.0 | Error | |||
| Sep 1, 2026 11:47 | CPPg++14.2.0 | Error | |||
| Sep 1, 2026 11:40 | CPPg++14.2.0 | Error | |||
| Sep 1, 2026 11:30 | CPPg++14.2.0 | Error | |||
| Sep 1, 2026 11:24 | CPPg++14.2.0 | Error | |||
| Sep 1, 2026 11:09 | CPPg++14.2.0 | Error | |||
| Sep 1, 2026 10:55 | CPPg++14.2.0 | Error | |||
| Sep 1, 2026 10:36 | CPPg++14.2.0 | Error | |||
| Sep 1, 2026 10:15 | CPPg++14.2.0 | Error | |||
| Sep 1, 2026 09:41 | CPPg++14.2.0 | Error | |||
| Sep 1, 2026 09:37 | CPPg++14.2.0 | Error | |||
| Sep 1, 2026 09:31 | CPPg++14.2.0 | Error | |||
| Sep 1, 2026 09:27 | CPPg++14.2.0 | Error | |||
| Sep 1, 2026 09:03 | CPPg++14.2.0 | Error | |||
| Sep 1, 2026 08:55 | CPPg++14.2.0 | Error | |||
| Sep 1, 2026 07:53 | CPPg++14.2.0 | Error | |||
| Sep 1, 2026 07:45 | CPPg++14.2.0 | Error | |||
| Sep 1, 2026 07:36 | CPPg++14.2.0 | Error | |||
| Sep 1, 2026 07:30 | CPPg++14.2.0 | Error | |||
| Sep 1, 2026 07:27 | CPPg++14.2.0 | Error | |||
| Sep 1, 2026 07:19 | CPPg++14.2.0 | Error | |||
| Sep 1, 2026 06:59 | CPPg++14.2.0 | Error | |||
| Sep 1, 2026 06:33 | CPPg++14.2.0 | Error | |||
| Sep 1, 2026 06:27 | CPPg++14.2.0 | Error | |||
| Sep 1, 2026 06:22 | CPPg++14.2.0 | Error | |||
| Sep 1, 2026 06:14 | CPPg++14.2.0 | Error | |||
| Sep 1, 2026 06:09 | CPPg++14.2.0 | Success | 2,102 | ||
| Sep 1, 2026 05:52 | CPPg++14.2.0 | Error | |||
| Sep 1, 2026 05:45 | CPPg++14.2.0 | Error | |||
| Sep 1, 2026 05:38 | CPPg++14.2.0 | Error | |||
| Sep 1, 2026 05:30 | CPPg++14.2.0 | Error | |||
| Sep 1, 2026 04:12 | CPPg++14.2.0 | Error | |||
| Aug 31, 2026 18:03 | CPPg++14.2.0 | Error | |||
| Aug 31, 2026 17:54 | CPPg++14.2.0 | Error | |||
| Aug 31, 2026 17:34 | CPPg++14.2.0 | Error | |||
| Aug 31, 2026 17:30 | CPPg++14.2.0 | Error | +248.00 RP | ||
| Aug 31, 2026 17:21 | CPPg++14.2.0 | Error | |||
| Aug 31, 2026 17:15 | CPPg++14.2.0 | Success | 2,571 | ||
| Aug 31, 2026 17:12 | CPPg++14.2.0 | Success | 2,517 | ||
| Aug 31, 2026 16:25 | CPPg++14.2.0 | Error | |||
| Aug 31, 2026 16:12 | CPPg++14.2.0 | Error | |||
| Aug 31, 2026 15:59 | CPPg++14.2.0 | Error | |||
| Aug 31, 2026 15:44 | CPPg++14.2.0 | Error | |||
| Aug 31, 2026 15:20 | CPPg++14.2.0 | Error | |||
| Aug 31, 2026 15:18 | ZIG0.16.0 | Error | +18.56 RP | ||
| Aug 31, 2026 15:12 | CSHARP10.0.7 | Error | |||
| Aug 31, 2026 15:08 | CPPg++14.2.0 | Error | |||
| Aug 31, 2026 15:04 | RUSTrust-1.95.0 | Error | |||
| Aug 31, 2026 15:01 | GOgo1.26.2 | Error | |||
| Aug 31, 2026 14:54 | CPPg++14.2.0 | Error | |||
| Aug 31, 2026 14:48 | CPPg++14.2.0 | Error | |||
| Aug 31, 2026 14:38 | CPPg++14.2.0 | Error | |||
| Aug 31, 2026 14:28 | CPPg++14.2.0 | Error | |||
| Aug 31, 2026 14:16 | CPPg++14.2.0 | Error | |||
| Aug 31, 2026 13:57 | CPPg++14.2.0 | Error | +55.26 RP | ||
| Aug 31, 2026 13:48 | CPPg++14.2.0 | Error | |||
| Aug 31, 2026 13:12 | CPPg++14.2.0 | Success | 2,798 | ||
| Aug 31, 2026 12:32 | CPPg++14.2.0 | Error | |||
| Aug 31, 2026 07:57 | RUSTrust-1.95.0 | Error | |||
| Aug 31, 2026 05:10 | CPPclang++18.1.3 | Error | |||
| Aug 31, 2026 04:08 | CPPclang++18.1.3 | Error | +448.03 RP | ||
| Aug 31, 2026 02:00 | CPPg++14.2.0 | Error | +9.15 RP | ||
| Aug 31, 2026 01:37 | CPPg++14.2.0 | Error | |||
| Aug 31, 2026 00:59 | CPPg++14.2.0 | Error | |||
| Aug 31, 2026 00:49 | CPPg++14.2.0 | Error | |||
| Aug 31, 2026 00:38 | CPPg++14.2.0 | Error | |||
| Aug 31, 2026 00:16 | CPPg++14.2.0 | Error | |||
| Aug 30, 2026 23:55 | CPPclang++20.1.2 | Error | |||
| Aug 30, 2026 23:50 | CPPg++14.2.0 | Error | |||
| Aug 30, 2026 23:47 | CPPg++14.2.0 | Error | +18.24 RP | ||
| Aug 30, 2026 23:28 | CPPclang++18.1.3 | Error | |||
| Aug 30, 2026 23:26 | CPPclang++18.1.3 | Error | |||
| Aug 30, 2026 23:19 | CPPclang++18.1.3 | Error | +509.25 RP | ||
| Aug 30, 2026 23:12 | CSHARP9.0.15 | Error | |||
| Aug 30, 2026 23:08 | CPPg++14.2.0 | Error | |||
| Aug 30, 2026 23:05 | GOgo1.26.2 | Error | |||
| Aug 30, 2026 23:03 | CPPclang++18.1.3 | Error | |||
| Aug 30, 2026 22:59 | ZIG0.15.1 | Error | |||
| Aug 30, 2026 22:57 | RUSTrust-1.95.0 | Error | |||
| Aug 30, 2026 22:28 | CPPg++14.2.0 | Error | |||
| Aug 30, 2026 22:11 | CPPg++14.2.0 | Error | |||
| Aug 30, 2026 22:07 | CPPclang++20.1.2 | Error | |||
| Aug 30, 2026 21:49 | CPPclang++20.1.2 | Error | +246.78 RP |