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 03:45 | 3,631 | 70,669,116 | 42,186,000 | 5,022,000 | 2,269,184 | ||
| 2 | Dec 29, 2025 03:44 | 3,635 | 75,843,609 | 44,237,000 | 3,016,000 | 2,478,080 | ||
| 3 | Dec 29, 2025 03:20 | 3,726 | 77,380,373 | 47,425,000 | 1,009,000 | 2,457,600 | ||
| 4 | Dec 29, 2025 03:34 | 3,808 | 78,909,937 | 47,479,000 | 2,020,000 | 2,367,488 | ||
| 5 | Dec 29, 2025 03:27 | 3,815 | 73,504,631 | 48,589,000 | 1,012,000 | 2,363,392 | ||
| 6 | Dec 29, 2025 03:22 | 3,853 | 78,218,358 | 49,088,000 | 1,001,000 | 2,375,680 | ||
| 7 | Dec 29, 2025 03:28 | 3,869 | 73,097,539 | 49,295,000 | 1,006,000 | 2,457,600 | ||
| 8 | Dec 29, 2025 03:26 | 3,885 | 78,105,400 | 47,478,000 | 3,030,000 | 2,383,872 | ||
| 9 | Dec 29, 2025 03:32 | 3,898 | 81,285,005 | 45,611,000 | 5,067,000 | 2,498,560 | ||
| 10 | Dec 29, 2025 03:35 | 3,900 | 79,417,626 | 48,671,000 | 2,027,000 | 2,437,120 | ||
| 11 | Dec 29, 2025 03:24 | 3,901 | 85,150,910 | 49,695,000 | 1,014,000 | 2,396,160 | ||
| 12 | Dec 29, 2025 03:34 | 3,931 | 74,534,262 | 44,094,000 | 7,015,000 | 2,412,544 | ||
| 13 | Dec 29, 2025 03:40 | 3,975 | 84,719,488 | 50,659,000 | 1,013,000 | 2,375,680 | ||
| 14 | Dec 29, 2025 03:29 | 3,989 | 73,340,363 | 46,869,000 | 4,986,000 | 2,510,848 | ||
| 15 | Dec 29, 2025 03:27 | 3,990 | 75,419,243 | 47,882,000 | 3,990,000 | 2,367,488 | ||
| 16 | Dec 29, 2025 03:28 | 4,017 | 78,904,243 | 49,212,000 | 3,013,000 | 2,506,752 | ||
| 17 | Dec 29, 2025 03:33 | 4,020 | 78,812,921 | 49,244,000 | 3,014,000 | 2,342,912 | ||
| 18 | Dec 29, 2025 03:39 | 4,034 | 78,844,796 | 50,425,000 | 2,017,000 | 2,359,296 | ||
| 19 | Dec 29, 2025 03:30 | 4,035 | 77,516,239 | 47,409,000 | 5,043,000 | 2,437,120 | ||
| 20 | Dec 29, 2025 03:43 | 4,046 | 79,080,491 | 50,578,000 | 2,023,000 | 2,367,488 | ||
| 21 | Dec 29, 2025 03:42 | 4,068 | 83,117,900 | 51,892,000 | 997,000 | 2,379,776 | ||
| 22 | Dec 29, 2025 03:38 | 4,072 | 82,117,564 | 48,944,000 | 3,995,000 | 2,514,944 | ||
| 23 | Dec 29, 2025 03:30 | 4,076 | 82,232,173 | 49,991,000 | 2,999,000 | 2,498,560 | ||
| 24 | Dec 29, 2025 03:40 | 4,095 | 76,195,986 | 51,229,000 | 2,009,000 | 2,498,560 | ||
| 25 | Dec 29, 2025 03:44 | 4,106 | 77,840,310 | 51,359,000 | 2,014,000 | 2,383,872 | ||
| 26 | Dec 29, 2025 03:35 | 4,111 | 77,058,663 | 51,422,000 | 2,016,000 | 2,457,600 | ||
| 27 | Dec 29, 2025 03:40 | 4,126 | 79,900,884 | 49,594,000 | 4,048,000 | 2,473,984 | ||
| 28 | Dec 29, 2025 03:20 | 4,155 | 82,481,239 | 49,009,000 | 5,001,000 | 2,277,376 | ||
| 29 | Dec 29, 2025 03:21 | 4,163 | 81,387,162 | 50,116,000 | 4,009,000 | 2,347,008 | ||
| 30 | Dec 29, 2025 01:25 | 4,171 | 78,819,348 | 49,204,000 | 5,020,000 | 2,441,216 | ||
| 31 | Dec 29, 2025 03:21 | 4,183 | 88,092,955 | 49,346,000 | 5,035,000 | 2,392,064 | ||
| 32 | Dec 29, 2025 01:25 | 4,184 | 82,464,746 | 53,383,000 | 1,007,000 | 2,404,352 | ||
| 33 | Dec 29, 2025 01:25 | 4,222 | 81,400,570 | 53,892,000 | 998,000 | 2,392,064 | ||
| 34 | Dec 29, 2025 03:39 | 4,228 | 77,826,536 | 51,964,000 | 2,997,000 | 2,420,736 | ||
| 35 | Dec 29, 2025 03:31 | 4,232 | 79,337,175 | 49,009,000 | 6,001,000 | 2,400,256 | ||
| 36 | Dec 29, 2025 03:26 | 4,265 | 84,794,830 | 50,408,000 | 5,040,000 | 2,441,216 | ||
| 37 | Dec 29, 2025 03:29 | 4,272 | 82,270,481 | 53,511,000 | 2,019,000 | 2,330,624 | ||
| 38 | Dec 29, 2025 03:45 | 4,272 | 81,309,148 | 50,485,000 | 5,048,000 | 2,342,912 | ||
| 39 | Dec 29, 2025 03:22 | 4,275 | 82,762,927 | 52,541,000 | 3,031,000 | 2,269,184 | ||
| 40 | Dec 29, 2025 03:24 | 4,298 | 82,370,275 | 53,876,000 | 1,995,000 | 2,318,336 | ||
| 41 | Dec 29, 2025 03:28 | 4,311 | 86,889,718 | 53,040,000 | 3,002,000 | 2,445,312 | ||
| 42 | Dec 29, 2025 03:37 | 4,333 | 80,401,287 | 53,314,000 | 3,017,000 | 2,465,792 | ||
| 43 | Dec 29, 2025 03:42 | 4,336 | 81,230,988 | 52,338,000 | 4,026,000 | 2,375,680 | ||
| 44 | Dec 29, 2025 03:37 | 4,342 | 81,670,551 | 53,418,000 | 3,023,000 | 2,428,928 | ||
| 45 | Dec 29, 2025 03:22 | 4,343 | 83,404,132 | 51,421,000 | 5,041,000 | 2,293,760 | ||
| 46 | Dec 29, 2025 03:27 | 4,345 | 82,775,962 | 52,449,000 | 4,034,000 | 2,363,392 | ||
| 47 | Dec 29, 2025 03:25 | 4,376 | 85,207,359 | 50,905,000 | 5,988,000 | 2,498,560 | ||
| 48 | Dec 29, 2025 03:35 | 4,384 | 77,154,376 | 52,993,000 | 3,999,000 | 2,469,888 | ||
| 49 | Dec 29, 2025 03:38 | 4,390 | 82,566,378 | 52,064,000 | 5,006,000 | 2,314,240 | ||
| 50 | Dec 29, 2025 03:45 | 4,425 | 83,863,400 | 55,511,000 | 2,018,000 | 2,416,640 | ||
| 51 | Dec 29, 2025 03:38 | 4,462 | 91,795,519 | 53,007,000 | 5,000,000 | 2,404,352 | ||
| 52 | Dec 29, 2025 03:26 | 4,515 | 85,294,690 | 55,656,000 | 3,035,000 | 2,441,216 | ||
| 53 | Dec 29, 2025 03:23 | 4,550 | 84,723,694 | 55,142,000 | 4,010,000 | 2,367,488 | ||
| 54 | Dec 29, 2025 03:29 | 4,558 | 83,503,173 | 57,241,000 | 2,008,000 | 2,453,504 | ||
| 55 | Dec 29, 2025 03:34 | 4,561 | 86,372,087 | 57,279,000 | 2,009,000 | 2,478,080 | ||
| 56 | Dec 29, 2025 03:39 | 4,592 | 86,300,322 | 57,677,000 | 2,023,000 | 2,314,240 | ||
| 57 | Dec 29, 2025 03:44 | 4,594 | 84,588,813 | 56,684,000 | 3,036,000 | 2,486,272 | ||
| 58 | Dec 29, 2025 03:30 | 4,611 | 86,753,898 | 53,953,000 | 5,994,000 | 2,424,832 | ||
| 59 | Dec 29, 2025 03:32 | 4,623 | 83,566,462 | 54,087,000 | 6,009,000 | 2,445,312 | ||
| 60 | Dec 29, 2025 03:25 | 4,629 | 87,856,367 | 55,157,000 | 5,014,000 | 2,461,696 | ||
| 61 | Dec 29, 2025 03:37 | 4,630 | 85,814,204 | 54,174,000 | 6,019,000 | 2,498,560 | ||
| 62 | Dec 29, 2025 03:33 | 4,642 | 87,841,796 | 57,324,000 | 3,017,000 | 2,478,080 | ||
| 63 | Dec 29, 2025 03:21 | 4,643 | 90,299,730 | 59,354,000 | 1,006,000 | 2,363,392 | ||
| 64 | Dec 29, 2025 03:43 | 4,654 | 84,819,083 | 59,496,000 | 1,008,000 | 2,437,120 | ||
| 65 | Dec 29, 2025 03:30 | 4,658 | 85,679,705 | 56,516,000 | 4,036,000 | 2,412,544 | ||
| 66 | Dec 29, 2025 03:31 | 4,682 | 87,437,248 | 57,875,000 | 2,993,000 | 2,523,136 | ||
| 67 | Dec 29, 2025 03:32 | 4,699 | 86,611,757 | 59,082,000 | 2,002,000 | 2,330,624 | ||
| 68 | Dec 29, 2025 03:30 | 4,763 | 91,901,865 | 56,930,000 | 4,993,000 | 2,289,664 | ||
| 69 | Dec 29, 2025 03:43 | 4,771 | 89,191,788 | 60,022,000 | 2,000,000 | 2,490,368 | ||
| 70 | Dec 29, 2025 03:42 | 4,787 | 85,099,799 | 58,213,000 | 4,014,000 | 2,310,144 | ||
| 71 | Dec 29, 2025 03:20 | 4,811 | 92,335,506 | 60,525,000 | 2,017,000 | 2,494,464 | ||
| 72 | Dec 29, 2025 03:25 | 4,816 | 91,244,185 | 58,574,000 | 4,039,000 | 2,486,272 | ||
| 73 | Dec 29, 2025 03:36 | 4,820 | 86,881,803 | 56,591,000 | 6,063,000 | 2,433,024 | ||
| 74 | Dec 29, 2025 03:23 | 4,837 | 89,949,788 | 59,889,000 | 2,994,000 | 2,375,680 | ||
| 75 | Dec 29, 2025 03:33 | 4,860 | 92,387,537 | 61,176,000 | 2,005,000 | 2,396,160 | ||
| 76 | Dec 29, 2025 03:36 | 4,863 | 84,489,289 | 58,206,000 | 5,017,000 | 2,338,816 | ||
| 77 | Dec 29, 2025 03:23 | 4,913 | 97,141,396 | 62,869,000 | 997,000 | 2,281,472 | ||
| 78 | Dec 29, 2025 03:36 | 5,152 | 95,159,069 | 64,975,000 | 1,999,000 | 2,441,216 | ||
| 79 | Dec 29, 2025 03:31 | 5,232 | 98,009,523 | 65,017,000 | 3,000,000 | 2,416,640 | ||
| 80 | Dec 29, 2025 03:24 | 5,272 | 94,512,718 | 66,521,000 | 2,015,000 | 2,375,680 | ||
| 81 | Dec 29, 2025 03:30 | 5,282 | 95,679,365 | 66,652,000 | 2,019,000 | 2,375,680 |