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
Dec 21, 2025 00:05Josu San MartinJosu San MartinRUSTrust-1.92.0Success287,119
Dec 21, 2025 00:04Josu San MartinJosu San MartinRUSTrust-1.92.0Success289,366
Dec 21, 2025 00:02Josu San MartinJosu San MartinCPPg++13.3.0Success36,619+2.99 RP
Dec 21, 2025 00:02Josu San MartinJosu San MartinCPPg++13.3.0Success38,072
Dec 21, 2025 00:02Josu San MartinJosu San MartinCPPg++13.3.0Success37,024+0.73 RP
Dec 21, 2025 00:01Josu San MartinJosu San MartinCPPg++13.3.0Success62,895
Dec 21, 2025 00:00Josu San MartinJosu San MartinCPPclang++18.1.3Success39,038
Dec 20, 2025 23:58Josu San MartinJosu San MartinCPPg++13.3.0Success37,124+1.85 RP
Dec 20, 2025 23:58Josu San MartinJosu San MartinCPPg++13.3.0Success93,909
Dec 20, 2025 23:57Josu San MartinJosu San MartinCPPg++13.3.0Success37,381+0.31 RP
Dec 20, 2025 23:05HattonuriHattonuriCPPg++13.3.0Success36,052
Dec 20, 2025 23:03HattonuriHattonuriCPPg++13.3.0Success36,229
Dec 20, 2025 22:58HattonuriHattonuriCPPg++13.3.0Success36,221
Dec 20, 2025 22:47HattonuriHattonuriCPPg++13.3.0Success36,076
Dec 20, 2025 22:47HattonuriHattonuriCPPg++13.3.0Error
Dec 20, 2025 22:44Josu San MartinJosu San MartinCPPg++13.3.0Success39,129
Dec 20, 2025 22:43Josu San MartinJosu San MartinCPPg++13.3.0Success81,945
Dec 20, 2025 22:43Josu San MartinJosu San MartinCPPg++13.3.0Success39,966
Dec 20, 2025 22:43Josu San MartinJosu San MartinCPPg++13.3.0Success39,224
Dec 20, 2025 22:38Josu San MartinJosu San MartinCPPg++13.3.0Success115,560
Dec 20, 2025 22:38Josu San MartinJosu San MartinCPPg++13.3.0Success71,876
Dec 20, 2025 22:38Josu San MartinJosu San MartinCPPg++13.3.0Success60,278
Dec 20, 2025 22:28HattonuriHattonuriCPPg++13.3.0Success37,516
Dec 20, 2025 22:22Josu San MartinJosu San MartinCPPg++13.3.0Success38,533
Dec 20, 2025 22:22Josu San MartinJosu San MartinCPPg++13.3.0Success39,243
Dec 20, 2025 22:12Josu San MartinJosu San MartinCPPg++13.3.0Success39,019
Dec 20, 2025 22:11Josu San MartinJosu San MartinCPPg++13.3.0Success39,797
Dec 20, 2025 22:04HattonuriHattonuriCPPg++13.3.0Success37,369
Dec 20, 2025 21:55HattonuriHattonuriCPPg++13.3.0Success36,924
Dec 20, 2025 21:53HattonuriHattonuriCPPg++13.3.0Success36,978
Dec 20, 2025 21:50idatsyidatsyRUSTrust-1.92.0Success191,522
Dec 20, 2025 21:46HattonuriHattonuriCPPg++13.3.0Error
Dec 20, 2025 21:26HattonuriHattonuriCPPg++13.3.0Success36,490
Dec 20, 2025 21:08idatsyidatsyRUSTrust-1.92.0Success64,012+1.84 RP
Dec 20, 2025 21:04Josu San MartinJosu San MartinCPPg++13.3.0Success43,184
Dec 20, 2025 21:04Josu San MartinJosu San MartinCPPg++13.3.0Success39,141
Dec 20, 2025 21:02Josu San MartinJosu San MartinCPPg++13.3.0Success39,241
Dec 20, 2025 21:01Josu San MartinJosu San MartinCPPg++13.3.0Success37,424+7.95 RP
Dec 20, 2025 21:01Josu San MartinJosu San MartinCPPg++13.3.0Success39,943
Dec 20, 2025 20:59Josu San MartinJosu San MartinCPPg++13.3.0Success40,309
Dec 20, 2025 20:59Josu San MartinJosu San MartinCPPg++13.3.0Success59,412
Dec 20, 2025 20:59Josu San MartinJosu San MartinCPPg++13.3.0Success39,588
Dec 20, 2025 20:54Josu San MartinJosu San MartinCPPg++13.3.0Success38,871
Dec 20, 2025 20:54Josu San MartinJosu San MartinCPPg++13.3.0Success38,781
Dec 20, 2025 20:54Josu San MartinJosu San MartinCPPg++13.3.0Success40,329
Dec 20, 2025 20:51Josu San MartinJosu San MartinRUSTrust-1.92.0Success61,883
Dec 20, 2025 20:43Josu San MartinJosu San MartinRUSTrust-1.92.0Success45,490
Dec 20, 2025 20:39Josu San MartinJosu San MartinRUSTrust-1.92.0Success39,898
Dec 20, 2025 20:39Josu San MartinJosu San MartinRUSTrust-1.92.0Success39,821
Dec 20, 2025 20:39Josu San MartinJosu San MartinRUSTrust-1.92.0Success40,745
Dec 20, 2025 20:39Josu San MartinJosu San MartinRUSTrust-1.92.0Success40,700
Dec 20, 2025 20:36Josu San MartinJosu San MartinCPPg++13.3.0Success40,160
Dec 20, 2025 20:35Josu San MartinJosu San MartinCPPg++13.3.0Success38,571+1.16 RP
Dec 20, 2025 20:32Josu San MartinJosu San MartinCPPg++13.3.0Success39,774
Dec 20, 2025 20:32Josu San MartinJosu San MartinCPPg++13.3.0Success567,866
Dec 20, 2025 20:32Josu San MartinJosu San MartinCPPg++13.3.0Success38,745+5.63 RP
Dec 20, 2025 20:27Josu San MartinJosu San MartinCPPclang++18.1.3Success41,559
Dec 20, 2025 20:27Josu San MartinJosu San MartinCPPg++13.3.0Success39,629
Dec 20, 2025 20:21Josu San MartinJosu San MartinRUSTrust-1.92.0Success39,609+92.65 RP
Dec 20, 2025 20:18Josu San MartinJosu San MartinCPPg++13.3.0Success40,953
Dec 20, 2025 20:17Josu San MartinJosu San MartinCPPg++13.3.0Success40,534+0.83 RP
Dec 20, 2025 20:16Josu San MartinJosu San MartinCPPclang++18.1.3Success40,914
Dec 20, 2025 20:16Josu San MartinJosu San MartinCPPclang++18.1.3Success41,221
Dec 20, 2025 20:14Josu San MartinJosu San MartinRUSTrust-1.92.0Error
Dec 20, 2025 20:13Josu San MartinJosu San MartinCPPclang++18.1.3Error
Dec 20, 2025 20:13Josu San MartinJosu San MartinCPPclang++18.1.3Success42,500
Dec 20, 2025 20:09Josu San MartinJosu San MartinCPPclang++18.1.3Success41,702
Dec 20, 2025 20:09Josu San MartinJosu San MartinCPPclang++18.1.3Success43,429
Dec 20, 2025 20:09Josu San MartinJosu San MartinCPPclang++18.1.3Success40,671+2.74 RP
Dec 20, 2025 19:19Josu San MartinJosu San MartinCPPclang++18.1.3Success41,129+4.43 RP
Dec 20, 2025 19:19Josu San MartinJosu San MartinCPPclang++18.1.3Success43,322
Dec 20, 2025 19:19Josu San MartinJosu San MartinCPPclang++18.1.3Success41,893+12.93 RP
Dec 20, 2025 19:16Josu San MartinJosu San MartinCPPg++13.3.0Success46,016
Dec 20, 2025 19:15Josu San MartinJosu San MartinCPPg++13.3.0Success98,486
Dec 20, 2025 19:15Josu San MartinJosu San MartinCPPclang++18.1.3Success71,002
Dec 20, 2025 19:15Josu San MartinJosu San MartinCPPclang++18.1.3Success44,293+55.07 RP
Dec 20, 2025 19:15Josu San MartinJosu San MartinCPPclang++18.1.3Success106,272
Dec 20, 2025 19:10Josu San MartinJosu San MartinCPPclang++18.1.3Success60,512
Dec 20, 2025 19:10Josu San MartinJosu San MartinCPPg++13.3.0Success59,231
Dec 20, 2025 19:08Josu San MartinJosu San MartinRUSTrust-1.92.0Success60,395+3.95 RP
Dec 20, 2025 19:08Josu San MartinJosu San MartinRUSTrust-1.92.0Success111,907
Dec 20, 2025 19:07Josu San MartinJosu San MartinCPPg++13.3.0Success79,490
Dec 20, 2025 18:59Josu San MartinJosu San MartinCPPg++13.3.0Success69,588
Dec 20, 2025 18:58Josu San MartinJosu San MartinCPPg++13.3.0Success58,584+5.99 RP
Dec 20, 2025 18:57Josu San MartinJosu San MartinCPPg++13.3.0Success76,167
Dec 20, 2025 18:54Josu San MartinJosu San MartinCPPg++13.3.0Success63,824
Dec 20, 2025 18:41Josu San MartinJosu San MartinRUSTrust-1.92.0Success113,624
Dec 20, 2025 18:39Josu San MartinJosu San MartinCPPg++13.3.0Success80,840
Dec 20, 2025 18:38Josu San MartinJosu San MartinCPPg++13.3.0Success62,619
Dec 20, 2025 18:33Josu San MartinJosu San MartinCPPg++13.3.0Success63,136
Dec 20, 2025 18:33Josu San MartinJosu San MartinCPPg++13.3.0Success62,955
Dec 20, 2025 18:32Josu San MartinJosu San MartinCPPclang++18.1.3Success62,959
Dec 20, 2025 18:32Josu San MartinJosu San MartinCPPclang++18.1.3Success66,472
Dec 20, 2025 18:31Josu San MartinJosu San MartinCPPclang++18.1.3Success91,324
Dec 20, 2025 18:31Josu San MartinJosu San MartinCPPclang++18.1.3Success63,345
Dec 20, 2025 18:29Josu San MartinJosu San MartinCPPclang++18.1.3Success73,690
Dec 20, 2025 18:28Josu San MartinJosu San MartinCPPclang++18.1.3Error
Dec 20, 2025 18:28Josu San MartinJosu San MartinCPPg++13.3.0Error
Dec 20, 2025 18:27Josu San MartinJosu San MartinCPPg++13.3.0Success70,121
Dec 20, 2025 18:26Josu San MartinJosu San MartinCPPclang++18.1.3Success63,157