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 02:02 | 3,349 | 65,973,183 | 41,513,000 | 2,025,000 | 2,490,368 | ||
| 2 | Dec 29, 2025 01:54 | 3,642 | 72,889,835 | 46,340,000 | 1,007,000 | 2,326,528 | ||
| 3 | Dec 29, 2025 01:50 | 3,684 | 78,721,999 | 46,899,000 | 997,000 | 2,461,696 | ||
| 4 | Dec 29, 2025 02:00 | 3,718 | 78,331,141 | 46,325,000 | 2,014,000 | 2,375,680 | ||
| 5 | Dec 29, 2025 04:35 | 3,771 | 75,792,096 | 46,017,000 | 3,001,000 | 2,506,752 | ||
| 6 | Dec 29, 2025 02:00 | 3,785 | 80,296,147 | 47,199,000 | 2,008,000 | 2,404,352 | ||
| 7 | Dec 29, 2025 01:57 | 3,800 | 77,717,397 | 46,374,000 | 3,024,000 | 2,322,432 | ||
| 8 | Dec 29, 2025 01:47 | 3,898 | 80,828,578 | 50,677,000 | 0 | 2,519,040 | ||
| 9 | Dec 29, 2025 04:36 | 3,925 | 77,864,221 | 48,025,000 | 3,001,000 | 2,506,752 | ||
| 10 | Dec 29, 2025 01:48 | 3,955 | 75,708,387 | 48,394,000 | 3,024,000 | 2,314,240 | ||
| 11 | Dec 29, 2025 01:54 | 3,978 | 82,667,958 | 46,648,000 | 5,070,000 | 2,510,848 | ||
| 12 | Dec 29, 2025 01:44 | 3,979 | 82,564,351 | 49,700,000 | 2,028,000 | 2,445,312 | ||
| 13 | Dec 29, 2025 01:57 | 4,038 | 73,890,060 | 49,467,000 | 3,028,000 | 2,306,048 | ||
| 14 | Dec 29, 2025 02:02 | 4,076 | 77,679,891 | 48,988,000 | 3,999,000 | 2,347,008 | ||
| 15 | Dec 29, 2025 02:02 | 4,097 | 77,546,301 | 52,257,000 | 1,004,000 | 2,490,368 | ||
| 16 | Dec 29, 2025 02:01 | 4,099 | 81,112,820 | 51,274,000 | 2,010,000 | 2,486,272 | ||
| 17 | Dec 29, 2025 01:45 | 4,123 | 76,221,575 | 49,557,000 | 4,045,000 | 2,453,504 | ||
| 18 | Dec 29, 2025 01:56 | 4,154 | 86,834,435 | 52,001,000 | 2,000,000 | 2,265,088 | ||
| 19 | Dec 29, 2025 01:47 | 4,184 | 82,245,970 | 51,369,000 | 3,021,000 | 2,355,200 | ||
| 20 | Dec 29, 2025 01:56 | 4,203 | 78,563,172 | 52,615,000 | 2,023,000 | 2,506,752 | ||
| 21 | Dec 29, 2025 01:59 | 4,204 | 79,232,848 | 52,668,000 | 1,987,000 | 2,412,544 | ||
| 22 | Dec 29, 2025 01:57 | 4,230 | 84,055,808 | 51,989,000 | 2,999,000 | 2,400,256 | ||
| 23 | Dec 29, 2025 01:48 | 4,238 | 84,882,592 | 53,094,000 | 2,003,000 | 2,322,432 | ||
| 24 | Dec 29, 2025 01:55 | 4,245 | 81,204,793 | 54,177,000 | 1,003,000 | 2,490,368 | ||
| 25 | Dec 29, 2025 01:58 | 4,263 | 78,409,346 | 51,388,000 | 4,030,000 | 2,486,272 | ||
| 26 | Dec 29, 2025 04:37 | 4,269 | 80,179,245 | 54,489,000 | 1,009,000 | 2,457,600 | ||
| 27 | Dec 29, 2025 01:59 | 4,278 | 85,194,583 | 54,601,000 | 1,011,000 | 2,428,928 | ||
| 28 | Dec 29, 2025 02:01 | 4,281 | 82,109,268 | 54,644,000 | 1,011,000 | 2,445,312 | ||
| 29 | Dec 29, 2025 01:51 | 4,305 | 81,668,671 | 51,969,000 | 3,997,000 | 2,408,448 | ||
| 30 | Dec 29, 2025 04:34 | 4,331 | 88,531,400 | 53,289,000 | 3,016,000 | 2,420,736 | ||
| 31 | Dec 29, 2025 01:48 | 4,335 | 77,510,407 | 52,336,000 | 4,025,000 | 2,445,312 | ||
| 32 | Dec 29, 2025 02:00 | 4,361 | 81,960,932 | 52,638,000 | 4,049,000 | 2,506,752 | ||
| 33 | Dec 29, 2025 01:51 | 4,377 | 82,696,649 | 52,904,000 | 3,992,000 | 2,404,352 | ||
| 34 | Dec 29, 2025 01:58 | 4,378 | 86,550,198 | 54,922,000 | 1,997,000 | 2,392,064 | ||
| 35 | Dec 29, 2025 01:52 | 4,398 | 93,589,817 | 52,155,000 | 5,014,000 | 2,461,696 | ||
| 36 | Dec 29, 2025 01:47 | 4,405 | 82,433,931 | 55,261,000 | 2,009,000 | 2,330,624 | ||
| 37 | Dec 29, 2025 01:52 | 4,439 | 89,148,605 | 56,699,000 | 1,012,000 | 2,441,216 | ||
| 38 | Dec 29, 2025 01:50 | 4,452 | 87,541,788 | 55,883,000 | 1,995,000 | 2,310,144 | ||
| 39 | Dec 29, 2025 01:43 | 4,453 | 84,628,323 | 55,895,000 | 1,996,000 | 2,383,872 | ||
| 40 | Dec 29, 2025 04:37 | 4,463 | 89,400,154 | 53,021,000 | 5,002,000 | 2,519,040 | ||
| 41 | Dec 29, 2025 01:45 | 4,476 | 83,168,845 | 54,177,000 | 4,013,000 | 2,383,872 | ||
| 42 | Dec 29, 2025 01:55 | 4,494 | 85,867,503 | 56,404,000 | 2,014,000 | 2,396,160 | ||
| 43 | Dec 29, 2025 01:43 | 4,531 | 84,686,085 | 54,914,000 | 3,993,000 | 2,363,392 | ||
| 44 | Dec 29, 2025 01:51 | 4,537 | 87,545,796 | 56,976,000 | 1,999,000 | 2,367,488 | ||
| 45 | Dec 29, 2025 01:53 | 4,558 | 88,686,180 | 57,252,000 | 2,008,000 | 2,506,752 | ||
| 46 | Dec 29, 2025 01:54 | 4,566 | 83,653,153 | 57,341,000 | 2,011,000 | 2,383,872 | ||
| 47 | Dec 29, 2025 01:43 | 4,576 | 83,438,603 | 56,465,000 | 3,024,000 | 2,465,792 | ||
| 48 | Dec 29, 2025 02:01 | 4,604 | 89,571,748 | 59,852,000 | 0 | 2,314,240 | ||
| 49 | Dec 29, 2025 01:44 | 4,608 | 92,135,954 | 56,905,000 | 2,995,000 | 2,293,760 | ||
| 50 | Dec 29, 2025 01:53 | 4,633 | 84,416,028 | 57,222,000 | 3,011,000 | 2,363,392 | ||
| 51 | Dec 29, 2025 01:46 | 4,637 | 87,728,451 | 55,260,000 | 5,023,000 | 2,383,872 | ||
| 52 | Dec 29, 2025 01:55 | 4,638 | 84,845,003 | 54,266,000 | 6,029,000 | 2,285,568 | ||
| 53 | Dec 29, 2025 01:46 | 4,675 | 84,651,740 | 58,781,000 | 1,992,000 | 2,441,216 | ||
| 54 | Dec 29, 2025 01:53 | 4,707 | 91,690,284 | 57,179,000 | 4,012,000 | 2,469,888 | ||
| 55 | Dec 29, 2025 02:02 | 4,709 | 89,707,295 | 55,199,000 | 6,021,000 | 2,502,656 | ||
| 56 | Dec 29, 2025 04:36 | 4,716 | 84,164,914 | 57,285,000 | 4,020,000 | 2,265,088 | ||
| 57 | Dec 29, 2025 01:46 | 4,723 | 83,443,993 | 60,390,000 | 1,006,000 | 2,478,080 | ||
| 58 | Dec 29, 2025 01:59 | 4,791 | 85,171,793 | 60,279,000 | 2,009,000 | 2,494,464 | ||
| 59 | Dec 29, 2025 04:36 | 4,799 | 85,100,989 | 57,354,000 | 5,031,000 | 2,392,064 | ||
| 60 | Dec 29, 2025 04:35 | 4,807 | 81,754,067 | 58,465,000 | 4,032,000 | 2,453,504 | ||
| 61 | Dec 29, 2025 02:02 | 4,818 | 91,391,476 | 59,609,000 | 3,030,000 | 2,457,600 | ||
| 62 | Dec 29, 2025 01:52 | 4,855 | 89,051,889 | 61,108,000 | 2,003,000 | 2,359,296 | ||
| 63 | Dec 29, 2025 01:58 | 4,857 | 97,685,688 | 60,129,000 | 3,006,000 | 2,486,272 | ||
| 64 | Dec 29, 2025 04:34 | 4,860 | 92,025,231 | 60,172,000 | 3,008,000 | 2,494,464 | ||
| 65 | Dec 29, 2025 04:37 | 4,864 | 90,176,408 | 61,231,000 | 2,007,000 | 2,523,136 | ||
| 66 | Dec 29, 2025 02:02 | 4,865 | 89,542,523 | 61,233,000 | 2,007,000 | 2,449,408 | ||
| 67 | Dec 29, 2025 01:44 | 4,870 | 88,207,870 | 61,297,000 | 2,009,000 | 2,285,568 | ||
| 68 | Dec 29, 2025 01:45 | 4,914 | 90,149,667 | 61,891,000 | 1,996,000 | 2,453,504 | ||
| 69 | Dec 29, 2025 04:35 | 4,936 | 89,712,720 | 60,164,000 | 4,010,000 | 2,416,640 | ||
| 70 | Dec 29, 2025 04:34 | 4,957 | 90,799,513 | 60,416,000 | 4,027,000 | 2,424,832 | ||
| 71 | Dec 29, 2025 02:02 | 5,025 | 91,090,144 | 62,306,000 | 3,014,000 | 2,355,200 | ||
| 72 | Dec 29, 2025 02:02 | 5,043 | 92,592,088 | 60,516,000 | 5,043,000 | 2,367,488 | ||
| 73 | Dec 29, 2025 01:50 | 5,046 | 86,136,964 | 63,576,000 | 2,018,000 | 2,433,024 | ||
| 74 | Dec 29, 2025 01:56 | 5,251 | 95,368,292 | 65,256,000 | 3,011,000 | 2,383,872 | ||
| 75 | Dec 29, 2025 02:02 | 5,577 | 100,764,637 | 67,464,000 | 5,034,000 | 2,387,968 |