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 26, 2025 15:52 | 5,941 | 106,355,627 | 72,222,000 | 5,015,000 | 2,502,656 | ||
| 2 | Dec 26, 2025 15:32 | 6,131 | 110,428,345 | 75,668,000 | 4,035,000 | 2,379,776 | ||
| 3 | Dec 26, 2025 15:35 | 6,314 | 111,760,063 | 75,076,000 | 7,007,000 | 2,355,200 | ||
| 4 | Dec 26, 2025 15:32 | 6,504 | 118,033,985 | 83,542,000 | 1,006,000 | 2,428,928 | ||
| 5 | Dec 26, 2025 15:52 | 6,526 | 107,314,933 | 77,857,000 | 6,987,000 | 2,469,888 | ||
| 6 | Dec 26, 2025 15:35 | 6,527 | 116,072,318 | 79,858,000 | 4,991,000 | 2,408,448 | ||
| 7 | Dec 26, 2025 16:51 | 6,759 | 115,234,468 | 85,875,000 | 1,997,000 | 2,367,488 | ||
| 8 | Dec 26, 2025 15:38 | 6,773 | 112,634,492 | 82,046,000 | 6,003,000 | 2,293,760 | ||
| 9 | Dec 26, 2025 15:32 | 6,792 | 121,379,285 | 82,274,000 | 6,020,000 | 2,359,296 | ||
| 10 | Dec 26, 2025 16:51 | 6,865 | 110,613,110 | 83,229,000 | 6,016,000 | 2,494,464 | ||
| 11 | Dec 26, 2025 16:49 | 6,876 | 114,414,912 | 86,374,000 | 3,013,000 | 2,514,944 | ||
| 12 | Dec 26, 2025 15:35 | 6,926 | 115,684,284 | 84,037,000 | 6,002,000 | 2,359,296 | ||
| 13 | Dec 26, 2025 15:33 | 6,991 | 113,288,850 | 86,894,000 | 3,995,000 | 2,351,104 | ||
| 14 | Dec 26, 2025 16:52 | 7,015 | 125,769,633 | 89,185,000 | 2,004,000 | 2,473,984 | ||
| 15 | Dec 26, 2025 16:51 | 7,029 | 120,803,591 | 88,367,000 | 3,012,000 | 2,310,144 | ||
| 16 | Dec 26, 2025 15:32 | 7,040 | 117,209,366 | 87,498,000 | 4,022,000 | 2,506,752 | ||
| 17 | Dec 26, 2025 16:51 | 7,063 | 121,623,380 | 86,834,000 | 4,990,000 | 2,318,336 | ||
| 18 | Dec 26, 2025 15:32 | 7,077 | 126,924,503 | 87,004,000 | 5,000,000 | 2,367,488 | ||
| 19 | Dec 26, 2025 16:49 | 7,147 | 122,003,874 | 88,912,000 | 3,996,000 | 2,289,664 | ||
| 20 | Dec 26, 2025 15:38 | 7,154 | 117,019,980 | 85,006,000 | 8,000,000 | 2,396,160 | ||
| 21 | Dec 26, 2025 15:35 | 7,160 | 121,733,068 | 87,080,000 | 6,005,000 | 2,453,504 | ||
| 22 | Dec 26, 2025 16:54 | 7,233 | 119,774,625 | 88,028,000 | 6,001,000 | 2,297,856 | ||
| 23 | Dec 26, 2025 16:51 | 7,296 | 122,294,287 | 85,867,000 | 8,986,000 | 2,318,336 | ||
| 24 | Dec 26, 2025 15:33 | 7,299 | 126,145,265 | 87,892,000 | 6,991,000 | 2,519,040 | ||
| 25 | Dec 26, 2025 15:52 | 7,373 | 126,343,706 | 92,856,000 | 2,995,000 | 2,408,448 | ||
| 26 | Dec 26, 2025 15:52 | 7,379 | 125,408,550 | 85,936,000 | 9,992,000 | 2,441,216 | ||
| 27 | Dec 26, 2025 15:38 | 7,395 | 116,324,396 | 92,132,000 | 4,005,000 | 2,412,544 | ||
| 28 | Dec 26, 2025 15:35 | 7,412 | 121,784,774 | 93,346,000 | 3,011,000 | 2,355,200 | ||
| 29 | Dec 26, 2025 15:52 | 7,445 | 123,524,024 | 89,795,000 | 6,984,000 | 2,408,448 | ||
| 30 | Dec 26, 2025 16:56 | 7,450 | 130,454,867 | 92,853,000 | 3,993,000 | 2,506,752 | ||
| 31 | Dec 26, 2025 15:52 | 7,462 | 121,322,072 | 93,012,000 | 4,000,000 | 2,453,504 | ||
| 32 | Dec 26, 2025 16:51 | 7,478 | 126,479,835 | 90,194,000 | 7,015,000 | 2,514,944 | ||
| 33 | Dec 26, 2025 15:35 | 7,504 | 123,898,604 | 93,532,000 | 4,022,000 | 2,502,656 | ||
| 34 | Dec 26, 2025 15:33 | 7,507 | 130,164,998 | 93,566,000 | 4,024,000 | 2,457,600 | ||
| 35 | Dec 26, 2025 15:35 | 7,511 | 125,951,669 | 95,631,000 | 2,013,000 | 2,514,944 | ||
| 36 | Dec 26, 2025 15:52 | 7,526 | 125,338,322 | 93,840,000 | 3,993,000 | 2,416,640 | ||
| 37 | Dec 26, 2025 16:52 | 7,527 | 125,822,728 | 92,855,000 | 4,992,000 | 2,367,488 | ||
| 38 | Dec 26, 2025 15:35 | 7,531 | 124,462,995 | 91,911,000 | 5,994,000 | 2,310,144 | ||
| 39 | Dec 26, 2025 15:35 | 7,579 | 126,012,983 | 94,503,000 | 4,021,000 | 2,527,232 | ||
| 40 | Dec 26, 2025 15:35 | 7,586 | 128,139,331 | 94,592,000 | 4,025,000 | 2,461,696 | ||
| 41 | Dec 26, 2025 16:51 | 7,590 | 129,555,783 | 93,636,000 | 5,034,000 | 2,523,136 | ||
| 42 | Dec 26, 2025 16:50 | 7,651 | 126,287,620 | 97,450,000 | 2,009,000 | 2,281,472 | ||
| 43 | Dec 26, 2025 15:33 | 7,707 | 129,833,762 | 93,181,000 | 7,013,000 | 2,502,656 | ||
| 44 | Dec 26, 2025 15:32 | 7,727 | 129,861,103 | 96,430,000 | 4,017,000 | 2,510,848 | ||
| 45 | Dec 26, 2025 16:56 | 7,752 | 128,911,611 | 95,788,000 | 4,988,000 | 2,482,176 | ||
| 46 | Dec 26, 2025 16:51 | 7,809 | 128,410,522 | 98,508,000 | 3,015,000 | 2,416,640 | ||
| 47 | Dec 26, 2025 16:52 | 7,809 | 129,248,829 | 96,496,000 | 5,025,000 | 2,453,504 | ||
| 48 | Dec 26, 2025 15:35 | 7,832 | 126,680,779 | 94,832,000 | 6,987,000 | 2,375,680 | ||
| 49 | Dec 26, 2025 16:51 | 7,862 | 127,486,321 | 98,201,000 | 4,008,000 | 2,297,856 | ||
| 50 | Dec 26, 2025 15:35 | 7,864 | 129,272,963 | 100,234,000 | 2,004,000 | 2,387,968 | ||
| 51 | Dec 26, 2025 16:52 | 7,890 | 123,724,604 | 99,552,000 | 3,016,000 | 2,379,776 | ||
| 52 | Dec 26, 2025 15:52 | 7,916 | 133,016,844 | 97,912,000 | 4,995,000 | 2,351,104 | ||
| 53 | Dec 26, 2025 15:38 | 7,927 | 132,605,003 | 95,047,000 | 8,004,000 | 2,428,928 | ||
| 54 | Dec 26, 2025 15:35 | 7,931 | 129,735,082 | 100,096,000 | 3,002,000 | 2,371,584 | ||
| 55 | Dec 26, 2025 16:50 | 7,940 | 129,189,951 | 97,212,000 | 6,013,000 | 2,330,624 | ||
| 56 | Dec 26, 2025 16:51 | 7,959 | 129,712,112 | 101,456,000 | 2,009,000 | 2,433,024 | ||
| 57 | Dec 26, 2025 16:51 | 7,989 | 136,064,413 | 97,862,000 | 5,991,000 | 2,449,408 | ||
| 58 | Dec 26, 2025 15:35 | 8,060 | 130,362,279 | 99,793,000 | 4,989,000 | 2,392,064 | ||
| 59 | Dec 26, 2025 15:32 | 8,062 | 132,035,365 | 103,804,000 | 998,000 | 2,461,696 | ||
| 60 | Dec 26, 2025 16:52 | 8,069 | 138,012,091 | 98,899,000 | 5,993,000 | 2,514,944 | ||
| 61 | Dec 26, 2025 15:52 | 8,084 | 127,849,603 | 98,082,000 | 7,005,000 | 2,420,736 | ||
| 62 | Dec 26, 2025 15:52 | 8,139 | 131,549,420 | 96,829,000 | 8,984,000 | 2,322,432 | ||
| 63 | Dec 26, 2025 15:33 | 8,148 | 132,582,583 | 102,926,000 | 2,997,000 | 2,490,368 | ||
| 64 | Dec 26, 2025 16:54 | 8,217 | 136,740,929 | 104,820,000 | 1,996,000 | 2,445,312 | ||
| 65 | Dec 26, 2025 15:38 | 8,248 | 129,311,793 | 100,204,000 | 7,014,000 | 2,269,184 | ||
| 66 | Dec 26, 2025 15:33 | 8,256 | 133,238,567 | 102,310,000 | 5,015,000 | 2,326,528 | ||
| 67 | Dec 26, 2025 16:51 | 8,269 | 134,508,396 | 103,484,000 | 4,018,000 | 2,531,328 | ||
| 68 | Dec 26, 2025 15:32 | 8,273 | 132,629,895 | 101,515,000 | 6,030,000 | 2,482,176 | ||
| 69 | Dec 26, 2025 15:52 | 8,297 | 142,597,140 | 102,869,000 | 4,993,000 | 2,379,776 | ||
| 70 | Dec 26, 2025 15:38 | 8,447 | 140,679,265 | 105,817,000 | 3,993,000 | 2,457,600 | ||
| 71 | Dec 26, 2025 15:38 | 8,449 | 135,232,385 | 104,848,000 | 4,992,000 | 2,514,944 | ||
| 72 | Dec 26, 2025 15:35 | 8,449 | 138,429,627 | 103,790,000 | 6,046,000 | 2,453,504 | ||
| 73 | Dec 26, 2025 16:54 | 8,466 | 136,449,711 | 104,051,000 | 6,002,000 | 2,441,216 | ||
| 74 | Dec 26, 2025 16:49 | 8,497 | 137,069,644 | 104,435,000 | 6,025,000 | 2,437,120 | ||
| 75 | Dec 26, 2025 15:52 | 8,527 | 138,585,897 | 105,814,000 | 5,038,000 | 2,404,352 | ||
| 76 | Dec 26, 2025 16:56 | 8,629 | 142,896,193 | 105,166,000 | 7,011,000 | 2,363,392 | ||
| 77 | Dec 26, 2025 15:35 | 8,782 | 141,214,566 | 108,157,000 | 6,008,000 | 2,306,048 | ||
| 78 | Dec 26, 2025 15:32 | 8,837 | 139,400,972 | 108,884,000 | 5,993,000 | 2,297,856 | ||
| 79 | Dec 26, 2025 15:35 | 8,837 | 140,337,576 | 108,890,000 | 5,993,000 | 2,400,256 | ||
| 80 | Dec 26, 2025 15:35 | 8,982 | 141,469,795 | 112,769,000 | 3,991,000 | 2,330,624 | ||
| 81 | Dec 26, 2025 16:50 | 9,350 | 157,834,376 | 117,535,000 | 4,018,000 | 2,416,640 | ||
| 82 | Dec 26, 2025 15:38 | 9,459 | 150,338,395 | 117,974,000 | 4,998,000 | 2,306,048 | ||
| 83 | Dec 26, 2025 16:52 | 9,561 | 148,501,423 | 121,283,000 | 3,007,000 | 2,359,296 | ||
| 84 | Dec 26, 2025 15:38 | 10,494 | 162,646,718 | 129,402,000 | 7,021,000 | 2,465,792 |