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 06:28 | 2,940 | 67,508,715 | 36,204,000 | 2,011,000 | 2,375,680 | ||
| 2 | Dec 29, 2025 14:35 | 3,255 | 71,008,936 | 38,282,000 | 4,029,000 | 2,469,888 | ||
| 3 | Dec 29, 2025 06:27 | 3,330 | 72,074,336 | 41,282,000 | 2,013,000 | 2,453,504 | ||
| 4 | Dec 29, 2025 14:35 | 3,375 | 69,339,392 | 41,884,000 | 1,994,000 | 2,363,392 | ||
| 5 | Dec 29, 2025 14:35 | 3,412 | 71,940,172 | 39,318,000 | 5,040,000 | 2,437,120 | ||
| 6 | Dec 29, 2025 14:32 | 3,434 | 73,848,520 | 42,614,000 | 2,029,000 | 2,293,760 | ||
| 7 | Dec 29, 2025 06:24 | 3,462 | 74,679,132 | 41,009,000 | 4,000,000 | 2,363,392 | ||
| 8 | Dec 29, 2025 14:35 | 3,483 | 69,198,721 | 41,255,000 | 4,024,000 | 2,387,968 | ||
| 9 | Dec 29, 2025 06:23 | 3,487 | 67,029,691 | 40,292,000 | 5,036,000 | 2,347,008 | ||
| 10 | Dec 29, 2025 14:38 | 3,517 | 74,246,114 | 42,672,000 | 3,048,000 | 2,367,488 | ||
| 11 | Dec 29, 2025 14:43 | 3,530 | 73,770,936 | 42,901,000 | 2,993,000 | 2,490,368 | ||
| 12 | Dec 29, 2025 14:32 | 3,543 | 79,849,562 | 43,059,000 | 3,004,000 | 2,310,144 | ||
| 13 | Dec 29, 2025 06:21 | 3,544 | 70,283,000 | 42,061,000 | 4,005,000 | 2,408,448 | ||
| 14 | Dec 29, 2025 14:44 | 3,560 | 76,379,338 | 40,240,000 | 6,036,000 | 2,404,352 | ||
| 15 | Dec 29, 2025 14:40 | 3,563 | 72,173,006 | 44,310,000 | 2,014,000 | 2,297,856 | ||
| 16 | Dec 29, 2025 14:35 | 3,565 | 68,515,819 | 41,306,000 | 5,037,000 | 2,457,600 | ||
| 17 | Dec 29, 2025 14:35 | 3,571 | 77,203,020 | 42,389,000 | 4,037,000 | 2,363,392 | ||
| 18 | Dec 29, 2025 06:22 | 3,582 | 68,316,999 | 44,541,000 | 2,024,000 | 2,351,104 | ||
| 19 | Dec 29, 2025 06:28 | 3,584 | 68,400,837 | 43,549,000 | 3,038,000 | 2,379,776 | ||
| 20 | Dec 29, 2025 14:43 | 3,585 | 69,374,457 | 44,576,000 | 2,026,000 | 2,408,448 | ||
| 21 | Dec 29, 2025 14:35 | 3,593 | 73,514,760 | 44,673,000 | 2,030,000 | 2,326,528 | ||
| 22 | Dec 29, 2025 06:25 | 3,605 | 74,753,006 | 44,877,000 | 1,994,000 | 2,387,968 | ||
| 23 | Dec 29, 2025 14:43 | 3,607 | 71,258,319 | 43,900,000 | 2,993,000 | 2,424,832 | ||
| 24 | Dec 29, 2025 06:20 | 3,610 | 73,547,098 | 43,932,000 | 2,995,000 | 2,379,776 | ||
| 25 | Dec 29, 2025 14:44 | 3,617 | 71,223,592 | 45,016,000 | 2,000,000 | 2,306,048 | ||
| 26 | Dec 29, 2025 14:46 | 3,635 | 77,069,207 | 43,238,000 | 4,022,000 | 2,428,928 | ||
| 27 | Dec 29, 2025 06:28 | 3,662 | 70,008,419 | 43,551,000 | 4,051,000 | 2,453,504 | ||
| 28 | Dec 29, 2025 06:21 | 3,687 | 79,016,705 | 45,938,000 | 1,997,000 | 2,347,008 | ||
| 29 | Dec 29, 2025 14:33 | 3,689 | 70,896,102 | 44,963,000 | 2,997,000 | 2,289,664 | ||
| 30 | Dec 29, 2025 06:25 | 3,690 | 75,193,063 | 45,977,000 | 1,999,000 | 2,490,368 | ||
| 31 | Dec 29, 2025 06:24 | 3,696 | 77,880,425 | 46,041,000 | 2,001,000 | 2,387,968 | ||
| 32 | Dec 29, 2025 06:28 | 3,701 | 72,479,948 | 45,112,000 | 3,007,000 | 2,400,256 | ||
| 33 | Dec 29, 2025 14:44 | 3,707 | 74,906,280 | 46,188,000 | 2,008,000 | 2,404,352 | ||
| 34 | Dec 29, 2025 06:20 | 3,713 | 79,034,989 | 44,251,000 | 4,022,000 | 2,363,392 | ||
| 35 | Dec 29, 2025 06:26 | 3,715 | 75,723,426 | 46,286,000 | 2,012,000 | 2,273,280 | ||
| 36 | Dec 29, 2025 06:28 | 3,715 | 77,442,117 | 43,262,000 | 5,030,000 | 2,269,184 | ||
| 37 | Dec 29, 2025 06:26 | 3,716 | 73,443,294 | 43,274,000 | 5,031,000 | 2,408,448 | ||
| 38 | Dec 29, 2025 14:33 | 3,760 | 79,961,394 | 47,888,000 | 997,000 | 2,359,296 | ||
| 39 | Dec 29, 2025 14:34 | 3,761 | 71,360,337 | 46,893,000 | 1,995,000 | 2,310,144 | ||
| 40 | Dec 29, 2025 14:41 | 3,762 | 74,615,963 | 45,912,000 | 2,994,000 | 2,408,448 | ||
| 41 | Dec 29, 2025 06:28 | 3,771 | 79,873,544 | 47,023,000 | 2,000,000 | 2,306,048 | ||
| 42 | Dec 29, 2025 14:37 | 3,775 | 75,158,852 | 44,073,000 | 5,008,000 | 2,420,736 | ||
| 43 | Dec 29, 2025 06:20 | 3,776 | 74,718,318 | 48,092,000 | 1,001,000 | 2,506,752 | ||
| 44 | Dec 29, 2025 14:40 | 3,806 | 73,998,480 | 46,454,000 | 3,029,000 | 2,289,664 | ||
| 45 | Dec 29, 2025 14:46 | 3,808 | 75,742,905 | 47,479,000 | 2,020,000 | 2,387,968 | ||
| 46 | Dec 29, 2025 14:33 | 3,814 | 80,475,134 | 48,567,000 | 1,011,000 | 2,334,720 | ||
| 47 | Dec 29, 2025 06:22 | 3,838 | 74,240,396 | 47,893,000 | 1,995,000 | 2,449,408 | ||
| 48 | Dec 29, 2025 14:38 | 3,850 | 75,932,994 | 46,050,000 | 4,004,000 | 2,342,912 | ||
| 49 | Dec 29, 2025 14:41 | 3,857 | 80,691,179 | 47,139,000 | 3,008,000 | 2,400,256 | ||
| 50 | Dec 29, 2025 06:28 | 3,859 | 80,300,980 | 45,153,000 | 5,017,000 | 2,457,600 | ||
| 51 | Dec 29, 2025 14:41 | 3,882 | 77,166,245 | 48,447,000 | 2,018,000 | 2,408,448 | ||
| 52 | Dec 29, 2025 14:32 | 3,913 | 75,822,133 | 46,884,000 | 3,990,000 | 2,297,856 | ||
| 53 | Dec 29, 2025 14:34 | 3,914 | 78,698,465 | 47,891,000 | 2,993,000 | 2,383,872 | ||
| 54 | Dec 29, 2025 06:28 | 3,920 | 79,531,429 | 46,958,000 | 3,996,000 | 2,363,392 | ||
| 55 | Dec 29, 2025 06:27 | 3,947 | 82,520,918 | 46,286,000 | 5,031,000 | 2,367,488 | ||
| 56 | Dec 29, 2025 14:35 | 3,948 | 81,339,126 | 45,283,000 | 6,037,000 | 2,342,912 | ||
| 57 | Dec 29, 2025 06:27 | 3,986 | 77,482,343 | 45,843,000 | 5,979,000 | 2,355,200 | ||
| 58 | Dec 29, 2025 06:23 | 3,990 | 78,246,610 | 47,879,000 | 3,989,000 | 2,326,528 | ||
| 59 | Dec 29, 2025 06:28 | 4,009 | 72,606,407 | 49,109,000 | 3,006,000 | 2,322,432 | ||
| 60 | Dec 29, 2025 06:22 | 4,041 | 77,753,779 | 49,499,000 | 3,030,000 | 2,326,528 | ||
| 61 | Dec 29, 2025 14:40 | 4,117 | 73,799,976 | 50,497,000 | 3,029,000 | 2,396,160 | ||
| 62 | Dec 29, 2025 14:37 | 4,118 | 76,140,945 | 50,510,000 | 3,030,000 | 2,412,544 | ||
| 63 | Dec 29, 2025 06:24 | 4,150 | 78,512,576 | 49,954,000 | 3,996,000 | 2,306,048 | ||
| 64 | Dec 29, 2025 06:23 | 4,167 | 85,189,753 | 49,156,000 | 5,015,000 | 2,293,760 | ||
| 65 | Dec 29, 2025 14:34 | 4,186 | 81,593,813 | 50,384,000 | 4,030,000 | 2,363,392 | ||
| 66 | Dec 29, 2025 06:25 | 4,221 | 83,892,060 | 53,871,000 | 997,000 | 2,416,640 | ||
| 67 | Dec 29, 2025 06:21 | 4,241 | 81,550,623 | 52,122,000 | 3,007,000 | 2,322,432 | ||
| 68 | Dec 29, 2025 14:37 | 4,321 | 82,167,395 | 54,163,000 | 2,006,000 | 2,359,296 | ||
| 69 | Dec 29, 2025 14:46 | 4,335 | 80,480,426 | 53,332,000 | 3,018,000 | 2,494,464 | ||
| 70 | Dec 29, 2025 06:26 | 4,408 | 85,255,930 | 53,286,000 | 4,021,000 | 2,506,752 | ||
| 71 | Dec 29, 2025 14:38 | 4,529 | 86,703,202 | 54,883,000 | 3,991,000 | 2,494,464 | ||
| 72 | Dec 29, 2025 14:35 | 4,669 | 87,245,660 | 57,659,000 | 3,034,000 | 2,433,024 |