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
Source code access is restricted. Log in to request access.
No challenges yet.
| # | Date | Score | Wall Time | CPU User | CPU System | Memory | Error | |
|---|---|---|---|---|---|---|---|---|
| 1 | Dec 29, 2025 15:45 | 3,127 | 69,674,376 | 36,582,000 | 4,064,000 | 2,404,352 | ||
| 2 | Dec 29, 2025 15:47 | 3,133 | 67,946,163 | 39,710,000 | 1,018,000 | 2,260,992 | ||
| 3 | Dec 29, 2025 15:44 | 3,221 | 68,995,138 | 36,886,000 | 4,984,000 | 2,342,912 | ||
| 4 | Dec 29, 2025 15:45 | 3,298 | 74,147,070 | 41,881,000 | 997,000 | 2,379,776 | ||
| 5 | Dec 29, 2025 16:10 | 3,341 | 71,012,839 | 41,419,000 | 2,020,000 | 2,404,352 | ||
| 6 | Dec 29, 2025 15:47 | 3,387 | 76,260,798 | 41,031,000 | 3,002,000 | 2,400,256 | ||
| 7 | Dec 29, 2025 15:56 | 3,403 | 71,584,437 | 39,209,000 | 5,026,000 | 2,465,792 | ||
| 8 | Dec 29, 2025 16:03 | 3,421 | 66,919,756 | 43,459,000 | 1,010,000 | 2,387,968 | ||
| 9 | Dec 29, 2025 15:59 | 3,456 | 74,524,457 | 39,934,000 | 4,991,000 | 2,269,184 | ||
| 10 | Dec 29, 2025 16:04 | 3,465 | 70,801,285 | 42,046,000 | 3,003,000 | 2,424,832 | ||
| 11 | Dec 29, 2025 16:09 | 3,482 | 74,082,246 | 42,251,000 | 3,017,000 | 2,338,816 | ||
| 12 | Dec 29, 2025 15:49 | 3,487 | 70,214,151 | 44,325,000 | 1,007,000 | 2,453,504 | ||
| 13 | Dec 29, 2025 16:10 | 3,494 | 69,711,409 | 43,406,000 | 2,018,000 | 2,383,872 | ||
| 14 | Dec 29, 2025 15:47 | 3,506 | 73,068,141 | 40,511,000 | 5,063,000 | 2,486,272 | ||
| 15 | Dec 29, 2025 15:50 | 3,528 | 70,924,682 | 42,879,000 | 2,991,000 | 2,404,352 | ||
| 16 | Dec 29, 2025 16:01 | 3,542 | 73,336,904 | 45,047,000 | 1,001,000 | 2,404,352 | ||
| 17 | Dec 29, 2025 15:47 | 3,551 | 78,883,593 | 43,149,000 | 3,010,000 | 2,428,928 | ||
| 18 | Dec 29, 2025 16:07 | 3,556 | 76,231,996 | 43,215,000 | 3,015,000 | 2,416,640 | ||
| 19 | Dec 29, 2025 15:47 | 3,605 | 78,155,494 | 46,868,000 | 0 | 2,510,848 | ||
| 20 | Dec 29, 2025 15:44 | 3,605 | 77,138,358 | 44,875,000 | 1,994,000 | 2,301,952 | ||
| 21 | Dec 29, 2025 15:47 | 3,606 | 71,636,979 | 42,890,000 | 3,989,000 | 2,457,600 | ||
| 22 | Dec 29, 2025 16:03 | 3,606 | 76,838,244 | 44,878,000 | 1,994,000 | 2,310,144 | ||
| 23 | Dec 29, 2025 15:44 | 3,609 | 78,284,014 | 43,927,000 | 2,995,000 | 2,367,488 | ||
| 24 | Dec 29, 2025 16:06 | 3,610 | 75,939,068 | 42,942,000 | 3,994,000 | 2,318,336 | ||
| 25 | Dec 29, 2025 16:10 | 3,611 | 75,656,634 | 41,952,000 | 4,994,000 | 2,469,888 | ||
| 26 | Dec 29, 2025 16:01 | 3,624 | 71,583,549 | 45,110,000 | 2,004,000 | 2,437,120 | ||
| 27 | Dec 29, 2025 15:44 | 3,627 | 78,618,094 | 44,137,000 | 3,009,000 | 2,437,120 | ||
| 28 | Dec 29, 2025 15:50 | 3,689 | 74,452,387 | 40,964,000 | 6,993,000 | 2,441,216 | ||
| 29 | Dec 29, 2025 16:07 | 3,706 | 83,564,519 | 44,168,000 | 4,015,000 | 2,367,488 | ||
| 30 | Dec 29, 2025 15:44 | 3,717 | 78,162,412 | 47,310,000 | 1,006,000 | 2,359,296 | ||
| 31 | Dec 29, 2025 15:58 | 3,723 | 76,313,466 | 46,384,000 | 2,016,000 | 2,363,392 | ||
| 32 | Dec 29, 2025 15:44 | 3,734 | 69,686,291 | 45,506,000 | 3,033,000 | 2,342,912 | ||
| 33 | Dec 29, 2025 16:06 | 3,737 | 69,639,171 | 43,524,000 | 5,061,000 | 2,404,352 | ||
| 34 | Dec 29, 2025 15:59 | 3,763 | 77,577,004 | 46,886,000 | 2,038,000 | 2,322,432 | ||
| 35 | Dec 29, 2025 16:04 | 3,768 | 82,309,326 | 45,984,000 | 2,998,000 | 2,306,048 | ||
| 36 | Dec 29, 2025 15:45 | 3,772 | 75,239,064 | 46,039,000 | 3,002,000 | 2,424,832 | ||
| 37 | Dec 29, 2025 16:03 | 3,853 | 80,485,676 | 47,083,000 | 3,005,000 | 2,400,256 | ||
| 38 | Dec 29, 2025 16:07 | 3,862 | 79,948,225 | 46,195,000 | 4,017,000 | 2,408,448 | ||
| 39 | Dec 29, 2025 16:09 | 3,871 | 77,100,899 | 44,289,000 | 6,039,000 | 2,510,848 | ||
| 40 | Dec 29, 2025 15:58 | 3,873 | 73,675,975 | 47,332,000 | 3,021,000 | 2,441,216 | ||
| 41 | Dec 29, 2025 15:44 | 3,888 | 74,930,482 | 47,506,000 | 3,032,000 | 2,314,240 | ||
| 42 | Dec 29, 2025 16:06 | 3,910 | 81,506,305 | 47,845,000 | 2,990,000 | 2,322,432 | ||
| 43 | Dec 29, 2025 15:47 | 3,914 | 77,858,990 | 47,894,000 | 2,993,000 | 2,416,640 | ||
| 44 | Dec 29, 2025 15:49 | 3,920 | 75,774,871 | 44,966,000 | 5,995,000 | 2,322,432 | ||
| 45 | Dec 29, 2025 15:47 | 3,942 | 79,236,814 | 49,236,000 | 2,009,000 | 2,342,912 | ||
| 46 | Dec 29, 2025 15:52 | 3,951 | 75,715,454 | 48,340,000 | 3,021,000 | 2,424,832 | ||
| 47 | Dec 29, 2025 15:47 | 3,954 | 77,545,454 | 47,369,000 | 4,031,000 | 2,273,280 | ||
| 48 | Dec 29, 2025 16:01 | 3,996 | 82,876,735 | 47,958,000 | 3,996,000 | 2,293,760 | ||
| 49 | Dec 29, 2025 15:50 | 3,996 | 85,093,366 | 49,947,000 | 1,997,000 | 2,441,216 | ||
| 50 | Dec 29, 2025 15:44 | 4,021 | 82,484,021 | 48,255,000 | 4,021,000 | 2,502,656 | ||
| 51 | Dec 29, 2025 15:59 | 4,029 | 77,976,041 | 48,344,000 | 4,028,000 | 2,424,832 | ||
| 52 | Dec 29, 2025 16:04 | 4,041 | 80,961,583 | 49,497,000 | 3,030,000 | 2,396,160 | ||
| 53 | Dec 29, 2025 15:55 | 4,043 | 73,632,939 | 50,534,000 | 2,021,000 | 2,367,488 | ||
| 54 | Dec 29, 2025 15:55 | 4,174 | 82,547,820 | 50,247,000 | 4,019,000 | 2,367,488 | ||
| 55 | Dec 29, 2025 15:53 | 4,201 | 81,973,845 | 51,575,000 | 3,033,000 | 2,289,664 | ||
| 56 | Dec 29, 2025 15:49 | 4,229 | 80,121,488 | 50,976,000 | 3,998,000 | 2,490,368 | ||
| 57 | Dec 29, 2025 15:44 | 4,251 | 80,014,116 | 50,238,000 | 5,023,000 | 2,318,336 | ||
| 58 | Dec 29, 2025 15:55 | 4,324 | 98,141,517 | 51,193,000 | 5,018,000 | 2,379,776 | ||
| 59 | Dec 29, 2025 16:09 | 4,429 | 80,186,423 | 54,546,000 | 3,030,000 | 2,408,448 | ||
| 60 | Dec 29, 2025 15:58 | 4,559 | 83,693,583 | 56,252,000 | 3,013,000 | 2,342,912 | ||
| 61 | Dec 29, 2025 15:52 | 4,652 | 82,809,799 | 56,450,000 | 4,032,000 | 2,441,216 | ||
| 62 | Dec 29, 2025 15:53 | 4,685 | 86,408,355 | 60,911,000 | 0 | 2,371,584 | ||
| 63 | Dec 29, 2025 15:52 | 4,778 | 89,362,433 | 56,103,000 | 6,011,000 | 2,351,104 | ||
| 64 | Dec 29, 2025 15:53 | 4,908 | 89,460,624 | 59,818,000 | 3,987,000 | 2,285,568 | ||
| 65 | Dec 29, 2025 15:56 | 4,914 | 89,130,647 | 60,883,000 | 2,994,000 | 2,342,912 | ||
| 66 | Dec 29, 2025 15:56 | 5,029 | 105,328,678 | 58,446,000 | 6,934,000 | 2,367,488 |