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 19, 2026 15:42 | 17,057 | 247,871,577 | 214,746,000 | 6,991,000 | 2,318,336 | ||
| 2 | Mar 19, 2026 15:35 | 17,347 | 252,548,963 | 212,478,000 | 13,029,000 | 2,347,008 | ||
| 3 | Mar 19, 2026 15:52 | 17,393 | 250,140,371 | 216,106,000 | 10,004,000 | 2,269,184 | ||
| 4 | Mar 19, 2026 17:15 | 17,465 | 254,133,030 | 221,039,000 | 6,001,000 | 2,379,776 | ||
| 5 | Mar 19, 2026 16:11 | 17,565 | 250,784,945 | 216,325,000 | 12,018,000 | 2,400,256 | ||
| 6 | Mar 19, 2026 16:29 | 17,674 | 258,936,587 | 221,771,000 | 7,991,000 | 2,510,848 | ||
| 7 | Mar 19, 2026 16:29 | 17,947 | 257,416,083 | 227,303,000 | 6,008,000 | 2,461,696 | ||
| 8 | Mar 19, 2026 15:39 | 18,007 | 256,299,382 | 225,092,000 | 9,003,000 | 2,498,560 | ||
| 9 | Mar 19, 2026 16:48 | 18,081 | 255,302,646 | 225,055,000 | 10,002,000 | 2,371,584 | ||
| 10 | Mar 19, 2026 15:49 | 18,525 | 270,658,747 | 231,829,000 | 8,993,000 | 2,310,144 | ||
| 11 | Mar 19, 2026 16:11 | 18,599 | 266,348,895 | 233,793,000 | 7,992,000 | 2,506,752 | ||
| 12 | Mar 19, 2026 15:30 | 18,673 | 273,736,595 | 237,755,000 | 4,994,000 | 2,297,856 | ||
| 13 | Mar 19, 2026 16:50 | 18,709 | 271,848,696 | 231,211,000 | 12,011,000 | 2,318,336 | ||
| 14 | Mar 19, 2026 15:48 | 18,747 | 275,124,154 | 235,724,000 | 7,990,000 | 2,396,160 | ||
| 15 | Mar 19, 2026 15:50 | 18,828 | 276,354,610 | 232,770,000 | 11,988,000 | 2,289,664 | ||
| 16 | Mar 19, 2026 15:48 | 18,853 | 270,252,995 | 237,084,000 | 8,002,000 | 2,482,176 | ||
| 17 | Mar 19, 2026 17:22 | 18,861 | 272,707,234 | 241,191,000 | 4,003,000 | 2,347,008 | ||
| 18 | Mar 19, 2026 15:28 | 18,926 | 282,417,997 | 235,032,000 | 11,001,000 | 2,318,336 | ||
| 19 | Mar 19, 2026 17:15 | 18,978 | 275,576,351 | 239,727,000 | 6,992,000 | 2,289,664 | ||
| 20 | Mar 19, 2026 16:23 | 19,064 | 273,043,787 | 232,844,000 | 14,990,000 | 2,478,080 | ||
| 21 | Mar 19, 2026 15:33 | 19,080 | 274,396,985 | 233,038,000 | 15,002,000 | 2,301,952 | ||
| 22 | Mar 19, 2026 16:50 | 19,157 | 274,830,132 | 235,035,000 | 14,002,000 | 2,453,504 | ||
| 23 | Mar 19, 2026 15:57 | 19,173 | 272,774,448 | 235,230,000 | 14,013,000 | 2,322,432 | ||
| 24 | Mar 19, 2026 16:35 | 19,220 | 282,593,089 | 238,870,000 | 10,994,000 | 2,285,568 | ||
| 25 | Mar 19, 2026 16:21 | 19,423 | 281,709,638 | 244,487,000 | 8,015,000 | 2,371,584 | ||
| 26 | Mar 19, 2026 16:51 | 19,457 | 284,913,227 | 242,942,000 | 9,997,000 | 2,367,488 | ||
| 27 | Mar 19, 2026 16:32 | 19,486 | 277,067,106 | 248,307,000 | 5,006,000 | 2,330,624 | ||
| 28 | Mar 19, 2026 16:27 | 19,517 | 277,640,017 | 246,733,000 | 6,992,000 | 2,441,216 | ||
| 29 | Mar 19, 2026 15:29 | 19,602 | 281,189,978 | 242,833,000 | 11,991,000 | 2,338,816 | ||
| 30 | Mar 19, 2026 16:25 | 19,752 | 289,889,634 | 245,783,000 | 10,990,000 | 2,379,776 | ||
| 31 | Mar 19, 2026 16:35 | 19,769 | 280,330,373 | 249,997,000 | 6,999,000 | 2,355,200 | ||
| 32 | Mar 19, 2026 15:28 | 19,862 | 284,069,541 | 244,191,000 | 14,010,000 | 2,420,736 | ||
| 33 | Mar 19, 2026 16:32 | 19,887 | 286,779,927 | 247,507,000 | 11,022,000 | 2,457,600 | ||
| 34 | Mar 19, 2026 15:28 | 19,927 | 284,707,521 | 247,048,000 | 12,002,000 | 2,412,544 | ||
| 35 | Mar 19, 2026 15:52 | 20,029 | 294,767,852 | 247,364,000 | 13,019,000 | 2,351,104 | ||
| 36 | Mar 19, 2026 16:32 | 20,078 | 293,939,410 | 251,014,000 | 10,000,000 | 2,482,176 | ||
| 37 | Mar 19, 2026 15:50 | 20,106 | 287,239,342 | 253,362,000 | 8,011,000 | 2,379,776 | ||
| 38 | Mar 19, 2026 16:21 | 20,120 | 289,559,262 | 252,581,000 | 8,985,000 | 2,265,088 | ||
| 39 | Mar 19, 2026 16:48 | 20,128 | 288,451,948 | 250,674,000 | 10,985,000 | 2,326,528 | ||
| 40 | Mar 19, 2026 15:29 | 20,129 | 288,408,146 | 247,696,000 | 13,982,000 | 2,351,104 | ||
| 41 | Mar 19, 2026 17:18 | 20,210 | 291,758,214 | 250,739,000 | 11,987,000 | 2,265,088 | ||
| 42 | Mar 19, 2026 15:35 | 20,240 | 289,728,732 | 256,116,000 | 7,003,000 | 2,412,544 | ||
| 43 | Mar 19, 2026 17:18 | 20,293 | 286,284,901 | 253,822,000 | 9,992,000 | 2,437,120 | ||
| 44 | Mar 19, 2026 15:48 | 20,347 | 291,203,772 | 257,498,000 | 7,013,000 | 2,412,544 | ||
| 45 | Mar 19, 2026 16:25 | 20,393 | 290,940,024 | 255,106,000 | 10,004,000 | 2,498,560 | ||
| 46 | Mar 19, 2026 16:11 | 20,404 | 284,334,889 | 259,253,000 | 6,005,000 | 2,457,600 | ||
| 47 | Mar 19, 2026 14:06 | 20,408 | 296,084,304 | 256,294,000 | 9,010,000 | 2,408,448 | ||
| 48 | Mar 19, 2026 16:27 | 20,413 | 298,535,105 | 254,348,000 | 11,015,000 | 2,383,872 | ||
| 49 | Mar 19, 2026 15:49 | 20,438 | 298,906,425 | 256,710,000 | 8,989,000 | 2,506,752 | ||
| 50 | Mar 19, 2026 16:23 | 20,439 | 300,164,291 | 257,711,000 | 7,991,000 | 2,293,760 | ||
| 51 | Mar 19, 2026 16:35 | 20,516 | 294,393,480 | 257,715,000 | 8,990,000 | 2,441,216 | ||
| 52 | Mar 19, 2026 16:51 | 20,523 | 296,241,882 | 256,806,000 | 9,992,000 | 2,371,584 | ||
| 53 | Mar 19, 2026 17:22 | 20,599 | 294,259,027 | 257,800,000 | 9,992,000 | 2,482,176 | ||
| 54 | Mar 19, 2026 15:57 | 20,631 | 296,933,347 | 258,198,000 | 10,007,000 | 2,355,200 | ||
| 55 | Mar 19, 2026 15:57 | 20,897 | 299,514,234 | 265,673,000 | 5,992,000 | 2,371,584 | ||
| 56 | Mar 19, 2026 15:30 | 21,097 | 297,868,190 | 260,253,000 | 14,013,000 | 2,457,600 | ||
| 57 | Mar 19, 2026 14:06 | 21,105 | 305,000,306 | 268,363,000 | 6,008,000 | 2,289,664 | ||
| 58 | Mar 19, 2026 16:27 | 21,113 | 303,312,211 | 264,452,000 | 10,017,000 | 2,457,600 | ||
| 59 | Mar 19, 2026 17:15 | 21,345 | 307,767,490 | 271,479,000 | 6,010,000 | 2,461,696 | ||
| 60 | Mar 19, 2026 15:52 | 21,367 | 306,820,664 | 267,784,000 | 9,991,000 | 2,486,272 | ||
| 61 | Mar 19, 2026 16:29 | 21,378 | 307,396,399 | 265,922,000 | 11,996,000 | 2,494,464 | ||
| 62 | Mar 19, 2026 16:25 | 21,401 | 305,799,339 | 268,211,000 | 10,007,000 | 2,469,888 | ||
| 63 | Mar 19, 2026 14:06 | 21,422 | 307,294,776 | 270,475,000 | 8,014,000 | 2,265,088 | ||
| 64 | Mar 19, 2026 15:33 | 21,445 | 308,787,709 | 263,803,000 | 14,988,000 | 2,351,104 | ||
| 65 | Mar 19, 2026 15:50 | 21,497 | 313,719,822 | 264,434,000 | 15,024,000 | 2,433,024 | ||
| 66 | Mar 19, 2026 15:39 | 21,608 | 309,577,669 | 269,909,000 | 10,996,000 | 2,260,992 | ||
| 67 | Mar 19, 2026 15:42 | 21,669 | 311,698,747 | 269,712,000 | 11,987,000 | 2,510,848 | ||
| 68 | Mar 19, 2026 17:18 | 21,699 | 313,387,060 | 270,085,000 | 12,003,000 | 2,306,048 | ||
| 69 | Mar 19, 2026 15:29 | 21,742 | 310,387,491 | 268,670,000 | 13,982,000 | 2,396,160 | ||
| 70 | Mar 19, 2026 15:45 | 21,746 | 312,798,330 | 273,704,000 | 8,990,000 | 2,498,560 | ||
| 71 | Mar 19, 2026 16:48 | 21,823 | 310,132,768 | 276,707,000 | 6,992,000 | 2,301,952 | ||
| 72 | Mar 19, 2026 16:50 | 21,826 | 315,137,659 | 273,751,000 | 9,990,000 | 2,392,064 | ||
| 73 | Mar 19, 2026 15:30 | 21,831 | 308,076,493 | 271,816,000 | 11,991,000 | 2,371,584 | ||
| 74 | Mar 19, 2026 15:49 | 21,867 | 309,229,507 | 273,267,000 | 11,010,000 | 2,506,752 | ||
| 75 | Mar 19, 2026 15:39 | 21,985 | 313,210,499 | 279,811,000 | 5,995,000 | 2,293,760 | ||
| 76 | Mar 19, 2026 15:42 | 22,100 | 319,351,447 | 273,285,000 | 14,014,000 | 2,326,528 | ||
| 77 | Mar 19, 2026 16:51 | 22,100 | 314,487,918 | 273,291,000 | 14,014,000 | 2,359,296 | ||
| 78 | Mar 19, 2026 16:21 | 22,212 | 312,284,450 | 280,760,000 | 7,993,000 | 2,482,176 | ||
| 79 | Mar 19, 2026 16:23 | 22,234 | 318,631,267 | 286,042,000 | 3,000,000 | 2,453,504 | ||
| 80 | Mar 19, 2026 15:35 | 22,275 | 316,623,923 | 281,561,000 | 8,015,000 | 2,490,368 | ||
| 81 | Mar 19, 2026 15:45 | 22,474 | 317,832,497 | 286,158,000 | 6,003,000 | 2,379,776 | ||
| 82 | Mar 19, 2026 17:22 | 22,693 | 317,285,816 | 287,013,000 | 8,000,000 | 2,453,504 | ||
| 83 | Mar 19, 2026 15:45 | 23,060 | 328,081,168 | 291,785,000 | 7,994,000 | 2,273,280 | ||
| 84 | Mar 19, 2026 15:33 | 23,567 | 335,525,491 | 297,365,000 | 9,011,000 | 2,383,872 |