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 | Mar 15, 2026 03:59 | 3,083 | 72,155,669 | 36,073,000 | 4,008,000 | 2,387,968 | ||
| 2 | Dec 31, 2025 23:47 | 3,099 | 70,607,302 | 37,260,000 | 3,021,000 | 2,424,832 | ||
| 3 | Mar 15, 2026 05:01 | 3,168 | 64,919,249 | 37,165,000 | 4,017,000 | 2,289,664 | ||
| 4 | Mar 15, 2026 03:59 | 3,178 | 71,070,690 | 39,304,000 | 2,015,000 | 2,433,024 | ||
| 5 | Jan 5, 2026 04:53 | 3,222 | 70,125,913 | 38,893,000 | 2,991,000 | 2,445,312 | ||
| 6 | Jan 5, 2026 04:54 | 3,243 | 66,807,748 | 38,144,000 | 4,015,000 | 2,387,968 | ||
| 7 | Mar 15, 2026 05:01 | 3,275 | 70,512,057 | 40,542,000 | 2,027,000 | 2,445,312 | ||
| 8 | Mar 15, 2026 04:23 | 3,281 | 68,597,709 | 40,617,000 | 2,030,000 | 2,473,984 | ||
| 9 | Mar 15, 2026 04:06 | 3,285 | 72,378,987 | 39,659,000 | 3,050,000 | 2,490,368 | ||
| 10 | Mar 15, 2026 04:30 | 3,297 | 67,827,570 | 40,873,000 | 1,993,000 | 2,433,024 | ||
| 11 | Mar 15, 2026 04:04 | 3,317 | 67,748,250 | 41,121,000 | 2,005,000 | 2,342,912 | ||
| 12 | Mar 15, 2026 04:06 | 3,354 | 65,698,824 | 39,543,000 | 4,055,000 | 2,527,232 | ||
| 13 | Mar 15, 2026 04:36 | 3,381 | 76,506,455 | 42,954,000 | 998,000 | 2,289,664 | ||
| 14 | Jan 5, 2026 04:54 | 3,395 | 71,021,944 | 40,119,000 | 4,011,000 | 2,449,408 | ||
| 15 | Mar 15, 2026 04:04 | 3,397 | 72,698,977 | 42,148,000 | 2,007,000 | 2,527,232 | ||
| 16 | Jan 7, 2026 05:31 | 3,462 | 67,503,770 | 40,007,000 | 5,000,000 | 2,449,408 | ||
| 17 | Mar 15, 2026 05:01 | 3,477 | 66,761,871 | 42,194,000 | 3,013,000 | 2,449,408 | ||
| 18 | Jan 5, 2026 04:53 | 3,478 | 70,341,976 | 43,209,000 | 2,009,000 | 2,437,120 | ||
| 19 | Jan 5, 2026 04:54 | 3,493 | 70,569,547 | 43,391,000 | 2,018,000 | 2,420,736 | ||
| 20 | Mar 15, 2026 04:30 | 3,505 | 71,475,158 | 42,525,000 | 3,037,000 | 2,412,544 | ||
| 21 | Jan 5, 2026 04:54 | 3,528 | 71,313,828 | 38,886,000 | 6,979,000 | 2,416,640 | ||
| 22 | Mar 15, 2026 04:36 | 3,531 | 70,716,627 | 42,913,000 | 2,993,000 | 2,322,432 | ||
| 23 | Mar 15, 2026 05:01 | 3,542 | 74,350,708 | 44,041,000 | 2,001,000 | 2,441,216 | ||
| 24 | Dec 31, 2025 23:47 | 3,558 | 74,618,795 | 41,222,000 | 5,027,000 | 2,428,928 | ||
| 25 | Jan 7, 2026 05:31 | 3,567 | 70,935,202 | 43,342,000 | 3,023,000 | 2,469,888 | ||
| 26 | Mar 15, 2026 04:04 | 3,583 | 73,415,584 | 44,557,000 | 2,025,000 | 2,367,488 | ||
| 27 | Mar 15, 2026 03:59 | 3,589 | 75,278,684 | 42,597,000 | 4,056,000 | 2,465,792 | ||
| 28 | Jan 5, 2026 04:54 | 3,606 | 73,238,387 | 43,887,000 | 2,992,000 | 2,330,624 | ||
| 29 | Jan 5, 2026 04:54 | 3,607 | 74,318,885 | 42,896,000 | 3,990,000 | 2,453,504 | ||
| 30 | Mar 15, 2026 04:04 | 3,616 | 72,930,233 | 45,003,000 | 2,000,000 | 2,404,352 | ||
| 31 | Jan 7, 2026 05:31 | 3,635 | 73,152,279 | 43,229,000 | 4,021,000 | 2,363,392 | ||
| 32 | Mar 15, 2026 05:01 | 3,636 | 73,284,180 | 42,240,000 | 5,028,000 | 2,498,560 | ||
| 33 | Mar 15, 2026 04:03 | 3,642 | 75,005,628 | 44,324,000 | 3,022,000 | 2,441,216 | ||
| 34 | Dec 31, 2025 23:57 | 3,645 | 68,383,282 | 45,371,000 | 2,016,000 | 2,383,872 | ||
| 35 | Mar 15, 2026 04:23 | 3,646 | 78,819,596 | 43,366,000 | 4,034,000 | 2,498,560 | ||
| 36 | Mar 15, 2026 04:30 | 3,647 | 79,221,656 | 44,386,000 | 3,026,000 | 2,375,680 | ||
| 37 | Mar 15, 2026 04:06 | 3,650 | 76,641,170 | 42,404,000 | 5,048,000 | 2,428,928 | ||
| 38 | Dec 31, 2025 23:51 | 3,655 | 72,084,510 | 44,487,000 | 3,033,000 | 2,486,272 | ||
| 39 | Mar 15, 2026 05:01 | 3,668 | 78,091,812 | 44,639,000 | 3,043,000 | 2,506,752 | ||
| 40 | Mar 15, 2026 04:04 | 3,715 | 73,956,401 | 41,255,000 | 7,043,000 | 2,404,352 | ||
| 41 | Mar 15, 2026 04:03 | 3,721 | 74,337,289 | 44,348,000 | 4,031,000 | 2,531,328 | ||
| 42 | Mar 15, 2026 03:59 | 3,726 | 74,670,043 | 44,396,000 | 4,036,000 | 2,424,832 | ||
| 43 | Mar 15, 2026 04:23 | 3,770 | 81,580,025 | 44,012,000 | 5,001,000 | 2,371,584 | ||
| 44 | Jan 5, 2026 04:53 | 3,772 | 79,304,717 | 47,031,000 | 2,001,000 | 2,441,216 | ||
| 45 | Mar 15, 2026 04:23 | 3,776 | 71,813,326 | 47,082,000 | 2,003,000 | 2,379,776 | ||
| 46 | Mar 15, 2026 04:30 | 3,783 | 78,114,890 | 46,172,000 | 3,011,000 | 2,342,912 | ||
| 47 | Dec 31, 2025 23:47 | 3,796 | 72,051,141 | 47,333,000 | 2,014,000 | 2,412,544 | ||
| 48 | Dec 31, 2025 23:51 | 3,798 | 72,754,033 | 46,349,000 | 3,022,000 | 2,416,640 | ||
| 49 | Mar 15, 2026 04:23 | 3,811 | 72,931,147 | 45,499,000 | 4,044,000 | 2,486,272 | ||
| 50 | Mar 15, 2026 04:06 | 3,861 | 73,351,301 | 46,180,000 | 4,015,000 | 2,482,176 | ||
| 51 | Mar 15, 2026 04:30 | 3,874 | 74,039,807 | 46,330,000 | 4,028,000 | 2,338,816 | ||
| 52 | Dec 31, 2025 23:51 | 3,882 | 78,398,183 | 43,404,000 | 7,065,000 | 2,453,504 | ||
| 53 | Mar 15, 2026 04:30 | 3,884 | 80,122,624 | 49,481,000 | 1,009,000 | 2,441,216 | ||
| 54 | Mar 15, 2026 04:36 | 3,896 | 80,575,525 | 49,641,000 | 1,013,000 | 2,416,640 | ||
| 55 | Dec 31, 2025 23:57 | 3,940 | 78,848,850 | 45,200,000 | 6,026,000 | 2,441,216 | ||
| 56 | Dec 31, 2025 23:57 | 3,960 | 73,027,465 | 46,435,000 | 5,047,000 | 2,351,104 | ||
| 57 | Mar 15, 2026 03:59 | 3,967 | 85,759,573 | 49,553,000 | 2,022,000 | 2,367,488 | ||
| 58 | Mar 15, 2026 04:06 | 3,976 | 76,671,342 | 49,657,000 | 2,026,000 | 2,387,968 | ||
| 59 | Mar 15, 2026 04:03 | 3,990 | 83,096,165 | 48,882,000 | 2,992,000 | 2,314,240 | ||
| 60 | Mar 15, 2026 04:04 | 3,996 | 77,576,683 | 48,956,000 | 2,997,000 | 2,408,448 | ||
| 61 | Mar 15, 2026 04:23 | 4,030 | 72,666,633 | 49,370,000 | 3,022,000 | 2,539,520 | ||
| 62 | Mar 15, 2026 03:59 | 4,067 | 75,765,326 | 50,880,000 | 1,995,000 | 2,420,736 | ||
| 63 | Mar 15, 2026 04:06 | 4,105 | 82,279,785 | 47,322,000 | 6,041,000 | 2,510,848 |