Order book Yuriy Lyfenko

Simulate a sell-side order book and calculate the cost of a final purchase as fast as possible.

Input

1,000,000 order updates on STDIN, one per line:

  • + <price> <size> – add a new sell order
  • - <position> – delete the order at the given position
  • = <size> – buy <size> shares from the top of the order book

After all updates are processed, buy 1,000 shares from the top of the order book.

Output

Print the total cost of the final 1,000-share purchase to STDOUT.

Order Book Rules

Orders are sorted by price ascending (lower is better). Orders at the same price are sorted by arrival time (earlier first). Position 0 is the best (lowest-price) offer.

The = (buy) operation consumes shares starting from position 0. If an order is fully consumed, it is removed from the book.

Example

Input Order book state
+ 1137 100 (1137,100)
+ 1130 10 (1130,10), (1137,100)
+ 1130 50 (1130,10), (1130,50), (1137,100)
- 0 (1130,50), (1137,100)
+ 1150 200 (1130,50), (1137,100), (1150,200)
= 200 (1150,150)

Total cost of the last buy: 50 * 1130 + 100 * 1137 + 50 * 1150.

Date AuthorLanguageStatus Score
Feb 12, 2026 22:10Juraj ZelmanJuraj ZelmanRUSTrust-1.91.1Success103,205
Feb 12, 2026 21:55Code HintsCode HintsRUSTrust-1.93.1Success42,364
Feb 12, 2026 21:51Code HintsCode HintsRUSTrust-1.93.1Success42,012
Feb 12, 2026 21:46Code HintsCode HintsRUSTrust-1.93.1Success41,922
Feb 12, 2026 21:37Code HintsCode HintsRUSTrust-1.93.1Success41,483
Feb 12, 2026 21:36Code HintsCode HintsRUSTrust-1.93.1Success43,072
Feb 12, 2026 21:34Code HintsCode HintsRUSTrust-1.93.1Success42,084
Feb 12, 2026 21:32Code HintsCode HintsRUSTrust-1.93.1Success43,219
Feb 12, 2026 21:17Code HintsCode HintsRUSTrust-1.93.1Success43,066
Feb 12, 2026 21:15Code HintsCode HintsRUSTrust-1.93.1Success42,557
Feb 12, 2026 21:14Code HintsCode HintsRUSTrust-1.93.1Success47,733
Feb 12, 2026 21:07Code HintsCode HintsRUSTrust-1.93.1Error
Feb 12, 2026 21:05Code HintsCode HintsRUSTrust-1.93.1Success42,143
Feb 12, 2026 21:02Code HintsCode HintsRUSTrust-1.93.1Success41,407+5.50 RP
Feb 12, 2026 20:54Code HintsCode HintsRUSTrust-1.93.1Success64,319
Feb 12, 2026 20:06Juraj ZelmanJuraj ZelmanRUSTrust-1.91.1Success44,991+59.19 RP
Feb 12, 2026 07:11Juraj ZelmanJuraj ZelmanRUSTrust-1.91.1Success61,322+69.37 RP
Feb 11, 2026 18:23olliecrowolliecrowCPPg++13.3.0Error
Feb 11, 2026 15:20Code HintsCode HintsRUSTrust-1.93.0Success42,372+5.86 RP
Feb 11, 2026 14:57Code HintsCode HintsRUSTrust-1.93.0Success45,384
Feb 11, 2026 13:17Code HintsCode HintsRUSTrust-1.93.0Success43,997
Feb 11, 2026 13:15Code HintsCode HintsRUSTrust-1.93.0Success45,457
Feb 11, 2026 13:10Code HintsCode HintsRUSTrust-1.93.0Success43,450+16.43 RP
Feb 11, 2026 13:09Code HintsCode HintsRUSTrust-1.93.0Success65,933
Feb 11, 2026 13:06Code HintsCode HintsRUSTrust-1.93.0Success66,648
Feb 11, 2026 12:49Code HintsCode HintsRUSTrust-1.93.0Success67,479
Feb 11, 2026 12:14Code HintsCode HintsRUSTrust-1.93.0Success59,003
Feb 11, 2026 11:53Code HintsCode HintsRUSTrust-1.93.0Error
Feb 11, 2026 11:43Code HintsCode HintsRUSTrust-1.93.0Success54,336
Feb 11, 2026 11:38Code HintsCode HintsRUSTrust-1.93.0Success553,943
Feb 11, 2026 11:33Code HintsCode HintsRUSTrust-1.93.0Success194,572
Feb 11, 2026 11:31Code HintsCode HintsRUSTrust-1.93.0Success60,179
Feb 11, 2026 11:30Code HintsCode HintsRUSTrust-1.93.0Success64,816
Feb 11, 2026 11:29Code HintsCode HintsRUSTrust-1.93.0Success53,631
Feb 11, 2026 11:28Code HintsCode HintsRUSTrust-1.93.0Success65,997
Feb 10, 2026 22:58Code HintsCode HintsRUSTrust-1.93.0Success63,348
Feb 10, 2026 22:57Code HintsCode HintsRUSTrust-1.93.0Success63,945
Feb 10, 2026 19:15undenuicapundenuicapRUSTrust-1.93.0Success43,410+230.36 RP
Feb 10, 2026 18:51Code HintsCode HintsRUSTrust-1.93.0Success59,466
Feb 10, 2026 18:22Code HintsCode HintsRUSTrust-1.93.0Success46,791+68.88 RP
Feb 10, 2026 18:19Code HintsCode HintsRUSTrust-1.93.0Success81,153
Feb 10, 2026 18:11Code HintsCode HintsRUSTrust-1.93.0Success70,497
Feb 10, 2026 18:06Code HintsCode HintsRUSTrust-1.93.0Success69,045+19.43 RP
Feb 10, 2026 17:52Code HintsCode HintsRUSTrust-1.93.0Success162,281
Feb 10, 2026 17:48Code HintsCode HintsRUSTrust-1.93.0Success430,547
Feb 10, 2026 17:40Code HintsCode HintsRUSTrust-1.93.0Success575,740
Feb 10, 2026 17:31Code HintsCode HintsRUSTrust-1.93.0Success87,193
Feb 10, 2026 17:15Code HintsCode HintsRUSTrust-1.93.0Success116,364
Feb 10, 2026 17:11Code HintsCode HintsRUSTrust-1.93.0Success99,250
Feb 10, 2026 17:01Code HintsCode HintsRUSTrust-1.93.0Success80,064
Feb 10, 2026 16:54Code HintsCode HintsRUSTrust-1.93.0Success677,288
Feb 10, 2026 16:49Code HintsCode HintsRUSTrust-1.93.0Success81,417
Feb 10, 2026 16:47Code HintsCode HintsRUSTrust-1.93.0Success97,157
Feb 10, 2026 16:19Code HintsCode HintsRUSTrust-1.93.0Error
Feb 10, 2026 16:07Code HintsCode HintsRUSTrust-1.93.0Success82,998
Feb 10, 2026 15:46Code HintsCode HintsRUSTrust-1.93.0Success403,117
Feb 10, 2026 15:35Code HintsCode HintsRUSTrust-1.93.0Success424,819
Feb 10, 2026 15:19Code HintsCode HintsRUSTrust-1.93.0Success158,345
Feb 10, 2026 15:14Code HintsCode HintsRUSTrust-1.93.0Success110,153
Feb 10, 2026 15:11Code HintsCode HintsRUSTrust-1.93.0Success80,845
Feb 10, 2026 15:00Code HintsCode HintsRUSTrust-1.93.0Success80,145
Feb 10, 2026 14:42Code HintsCode HintsRUSTrust-1.93.0Success83,962
Feb 10, 2026 14:39Code HintsCode HintsRUSTrust-1.93.0Success81,907
Feb 10, 2026 14:15Code HintsCode HintsRUSTrust-1.93.0Success79,976
Feb 10, 2026 13:39Code HintsCode HintsRUSTrust-1.93.0Success184,547
Feb 10, 2026 13:35Code HintsCode HintsRUSTrust-1.93.0Success80,474
Feb 10, 2026 13:04Code HintsCode HintsRUSTrust-1.93.0Success105,478
Feb 10, 2026 13:00Code HintsCode HintsRUSTrust-1.93.0Success79,745+0.87 RP
Feb 9, 2026 23:42Code HintsCode HintsRUSTrust-1.93.0Success80,302+0.17 RP
Feb 9, 2026 23:42Code HintsCode HintsRUSTrust-1.93.0Error
Feb 9, 2026 23:41Code HintsCode HintsRUSTrust-1.93.0Error
Feb 9, 2026 23:40Code HintsCode HintsRUSTrust-1.93.0Error
Feb 9, 2026 23:38Code HintsCode HintsRUSTrust-1.93.0Error
Feb 9, 2026 23:36Code HintsCode HintsRUSTrust-1.93.0Error
Feb 9, 2026 23:34Code HintsCode HintsRUSTrust-1.93.0Error
Feb 9, 2026 23:33Code HintsCode HintsRUSTrust-1.93.0Error
Feb 9, 2026 23:31Code HintsCode HintsRUSTrust-1.93.0Error
Feb 9, 2026 23:30Code HintsCode HintsRUSTrust-1.93.0Error
Feb 9, 2026 23:23Code HintsCode HintsRUSTrust-1.93.0Error
Feb 9, 2026 23:23Code HintsCode HintsRUSTrust-1.93.0Success149,771
Feb 9, 2026 23:22Code HintsCode HintsRUSTrust-1.93.0Success173,069
Feb 9, 2026 23:21Code HintsCode HintsRUSTrust-1.93.0Success317,167
Feb 9, 2026 23:19Code HintsCode HintsRUSTrust-1.93.0Success243,448
Feb 9, 2026 23:18Code HintsCode HintsRUSTrust-1.93.0Success209,664
Feb 9, 2026 23:17Code HintsCode HintsRUSTrust-1.93.0Error
Feb 9, 2026 23:16Code HintsCode HintsRUSTrust-1.93.0Success152,948
Feb 9, 2026 23:14Code HintsCode HintsRUSTrust-1.93.0Error
Feb 9, 2026 23:12Code HintsCode HintsRUSTrust-1.93.0Error
Feb 9, 2026 23:11Code HintsCode HintsRUSTrust-1.93.0Success170,207
Feb 9, 2026 23:10Code HintsCode HintsRUSTrust-1.93.0Success187,417
Feb 9, 2026 23:09Code HintsCode HintsRUSTrust-1.93.0Error
Feb 9, 2026 23:08Code HintsCode HintsRUSTrust-1.93.0Error
Feb 9, 2026 23:07Code HintsCode HintsRUSTrust-1.93.0Error
Feb 9, 2026 23:07Code HintsCode HintsRUSTrust-1.93.0Error
Feb 9, 2026 23:05Code HintsCode HintsRUSTrust-1.93.0Success91,624
Feb 9, 2026 23:01Code HintsCode HintsRUSTrust-1.93.0Success119,893
Feb 9, 2026 23:01Code HintsCode HintsRUSTrust-1.93.0Success80,534
Feb 9, 2026 23:00Code HintsCode HintsRUSTrust-1.93.0Error
Feb 9, 2026 22:55Code HintsCode HintsRUSTrust-1.93.0Success80,409+0.11 RP
Feb 9, 2026 22:50Code HintsCode HintsRUSTrust-1.93.0Error