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 19, 2026 01:08Josu San MartinJosu San MartinCPPg++13.3.0Error
Feb 19, 2026 01:07Josu San MartinJosu San MartinCPPg++13.3.0Error
Feb 19, 2026 01:06Josu San MartinJosu San MartinCPPg++13.3.0Error
Feb 19, 2026 01:03Josu San MartinJosu San MartinCPPg++13.3.0Error
Feb 19, 2026 01:02Josu San MartinJosu San MartinCPPg++13.3.0Success3,779+56.87 RP
Feb 19, 2026 00:57Josu San MartinJosu San MartinCPPg++13.3.0Error
Feb 19, 2026 00:53Josu San MartinJosu San MartinCPPg++13.3.0Error
Feb 19, 2026 00:38Josu San MartinJosu San MartinCPPg++13.3.0Error
Feb 19, 2026 00:37Josu San MartinJosu San MartinCPPg++13.3.0Error
Feb 19, 2026 00:36Josu San MartinJosu San MartinCPPg++13.3.0Error
Feb 19, 2026 00:33Josu San MartinJosu San MartinCPPg++13.3.0Error
Feb 19, 2026 00:32Josu San MartinJosu San MartinCPPg++13.3.0Error
Feb 19, 2026 00:29Josu San MartinJosu San MartinCPPg++13.3.0Error
Feb 19, 2026 00:28Josu San MartinJosu San MartinCPPg++13.3.0Error
Feb 19, 2026 00:26Josu San MartinJosu San MartinCPPg++13.3.0Success3,862+123.24 RP
Feb 19, 2026 00:15Josu San MartinJosu San MartinCPPg++13.3.0Error
Feb 19, 2026 00:13Josu San MartinJosu San MartinCPPg++13.3.0Error
Feb 19, 2026 00:12Josu San MartinJosu San MartinCPPg++13.3.0Error
Feb 19, 2026 00:06Josu San MartinJosu San MartinCPPg++13.3.0Error
Feb 19, 2026 00:03Josu San MartinJosu San MartinCPPg++13.3.0Success4,055+104.26 RP
Feb 19, 2026 00:01Josu San MartinJosu San MartinCPPg++13.3.0Error
Feb 19, 2026 00:00Josu San MartinJosu San MartinCPPg++13.3.0Success4,259
Feb 18, 2026 23:59Josu San MartinJosu San MartinCPPg++13.3.0Error
Feb 18, 2026 23:57Josu San MartinJosu San MartinCPPg++13.3.0Success4,266
Feb 18, 2026 23:52Josu San MartinJosu San MartinCPPg++13.3.0Error
Feb 18, 2026 23:47Josu San MartinJosu San MartinCPPg++13.3.0Success4,341
Feb 18, 2026 23:46Josu San MartinJosu San MartinCPPg++13.3.0Success4,234+179.86 RP
Feb 18, 2026 23:43Josu San MartinJosu San MartinCPPg++13.3.0Error
Feb 18, 2026 23:37Josu San MartinJosu San MartinCPPg++13.3.0Success4,583+72.72 RP
Feb 18, 2026 23:26Josu San MartinJosu San MartinCPPg++13.3.0Error
Feb 18, 2026 23:25Josu San MartinJosu San MartinCPPg++13.3.0Error
Feb 18, 2026 23:24Josu San MartinJosu San MartinCPPg++13.3.0Success4,741+378.86 RP
Feb 18, 2026 23:23Josu San MartinJosu San MartinCPPg++13.3.0Error
Feb 18, 2026 23:14Josu San MartinJosu San MartinCPPg++13.3.0Success5,779+9.23 RP
Feb 18, 2026 23:11Josu San MartinJosu San MartinCPPg++13.3.0Error
Feb 18, 2026 23:09Josu San MartinJosu San MartinCPPg++13.3.0Error
Feb 17, 2026 13:30olliecrowolliecrowCPPg++13.3.0Success126,241
Feb 14, 2026 11:06Juraj ZelmanJuraj ZelmanRUSTrust-1.93.1Success37,003
Feb 14, 2026 11:04Juraj ZelmanJuraj ZelmanRUSTrust-1.93.1Error
Feb 14, 2026 09:25Juraj ZelmanJuraj ZelmanRUSTrust-1.91.1Success36,622+28.78 RP
Feb 14, 2026 09:06Juraj ZelmanJuraj ZelmanRUSTrust-1.91.1Error
Feb 13, 2026 22:06Juraj ZelmanJuraj ZelmanRUSTrust-1.91.1Success41,593
Feb 13, 2026 01:10Code HintsCode HintsGOgo1.26.0Success51,495
Feb 13, 2026 01:03Code HintsCode HintsCPPg++13.3.0Success39,848
Feb 13, 2026 01:02Code HintsCode HintsCSHARP9.0.13Success52,786+11.63 RP
Feb 13, 2026 00:59Code HintsCode HintsCSHARP9.0.13Success56,364
Feb 13, 2026 00:44Code HintsCode HintsCPPg++13.3.0Success45,416
Feb 13, 2026 00:43Code HintsCode HintsRUSTrust-1.93.1Success94,612
Feb 13, 2026 00:33Code HintsCode HintsRUSTrust-1.93.1Success40,000
Feb 13, 2026 00:31Code HintsCode HintsRUSTrust-1.93.1Error
Feb 13, 2026 00:20Code HintsCode HintsRUSTrust-1.93.1Success61,402
Feb 13, 2026 00:09Code HintsCode HintsRUSTrust-1.93.1Success54,167
Feb 12, 2026 23:55Code HintsCode HintsRUSTrust-1.93.1Success88,221
Feb 12, 2026 23:49Code HintsCode HintsRUSTrust-1.93.1Success41,960
Feb 12, 2026 23:45Code HintsCode HintsRUSTrust-1.92.0Success39,484
Feb 12, 2026 23:40Code HintsCode HintsRUSTrust-1.93.1Success39,759
Feb 12, 2026 23:38Code HintsCode HintsRUSTrust-1.93.1Success39,126
Feb 12, 2026 23:31Code HintsCode HintsRUSTrust-1.93.1Success38,867
Feb 12, 2026 23:31Code HintsCode HintsRUSTrust-1.93.1Success37,764+1.91 RP
Feb 12, 2026 23:26Code HintsCode HintsRUSTrust-1.93.0Error
Feb 12, 2026 23:19Code HintsCode HintsRUSTrust-1.93.0Error
Feb 12, 2026 23:19Code HintsCode HintsRUSTrust-1.93.0Success38,928
Feb 12, 2026 23:11Code HintsCode HintsRUSTrust-1.93.1Success49,138
Feb 12, 2026 23:09Code HintsCode HintsRUSTrust-1.93.1Success38,038+4.10 RP
Feb 12, 2026 23:06Code HintsCode HintsRUSTrust-1.93.1Success112,041
Feb 12, 2026 23:00Code HintsCode HintsRUSTrust-1.93.1Success63,041
Feb 12, 2026 22:56Code HintsCode HintsRUSTrust-1.93.1Success39,755
Feb 12, 2026 22:54Code HintsCode HintsRUSTrust-1.93.1Success40,160
Feb 12, 2026 22:45Code HintsCode HintsRUSTrust-1.93.1Success38,641+17.29 RP
Feb 12, 2026 22:37Code HintsCode HintsRUSTrust-1.93.1Error
Feb 12, 2026 22:14Juraj ZelmanJuraj ZelmanRUSTrust-1.91.1Success40,936+22.02 RP
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