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 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
Dec 20, 2025 18:22Josu San MartinJosu San MartinCPPclang++18.1.3Success70,497
Dec 20, 2025 18:21Josu San MartinJosu San MartinCPPg++13.3.0Success70,774
Dec 20, 2025 18:19Josu San MartinJosu San MartinCPPg++13.3.0Success99,340
Dec 20, 2025 18:02Josu San MartinJosu San MartinCPPg++13.3.0Error
Dec 20, 2025 17:55Josu San MartinJosu San MartinCPPg++13.3.0Success73,917
Dec 20, 2025 17:55Josu San MartinJosu San MartinCPPclang++18.1.3Success72,545
Dec 20, 2025 17:48Josu San MartinJosu San MartinCPPclang++18.1.3Success146,836
Dec 20, 2025 17:46Josu San MartinJosu San MartinCPPclang++18.1.3Success142,053
Dec 20, 2025 17:46Josu San MartinJosu San MartinCPPg++13.3.0Success120,978
Dec 20, 2025 17:43Josu San MartinJosu San MartinCPPclang++18.1.3Success249,190
Dec 20, 2025 17:41Josu San MartinJosu San MartinCPPclang++18.1.3Success76,191
Dec 20, 2025 17:41Josu San MartinJosu San MartinCPPg++13.3.0Success73,328
Dec 20, 2025 17:30Josu San MartinJosu San MartinCPPg++13.3.0Success82,619
Dec 20, 2025 17:30Josu San MartinJosu San MartinCPPclang++18.1.3Success72,669
Dec 20, 2025 17:09Josu San MartinJosu San MartinCPPclang++18.1.3Success61,879
Dec 20, 2025 17:09Josu San MartinJosu San MartinCPPg++13.3.0Success60,716+3.08 RP
Dec 20, 2025 16:52Josu San MartinJosu San MartinCPPg++13.3.0Success93,534
Dec 20, 2025 16:31parastromparastromRUSTrust-1.90.0Success84,486+7.01 RP
Dec 20, 2025 16:27idatsyidatsyRUSTrust-1.92.0Success65,048
Dec 20, 2025 16:24idatsyidatsyRUSTrust-1.92.0Success64,774+11.83 RP
Dec 20, 2025 16:21Mark R BestMark R BestRUSTrust-1.92.0Error
Dec 20, 2025 16:04HattonuriHattonuriCPPg++13.3.0Success36,369
Dec 20, 2025 16:03HattonuriHattonuriCPPg++13.3.0Error
Dec 20, 2025 16:00parastromparastromRUSTrust-1.90.0Success89,803+3.86 RP
Dec 20, 2025 15:48HattonuriHattonuriCPPg++13.3.0Error
Dec 20, 2025 15:45HattonuriHattonuriCPPg++13.3.0Error
Dec 20, 2025 15:44HattonuriHattonuriCPPg++13.3.0Success36,055
Dec 20, 2025 15:27idatsyidatsyRUSTrust-1.92.0Error
Dec 20, 2025 15:27HattonuriHattonuriCPPg++13.3.0Success36,610
Dec 20, 2025 15:21HattonuriHattonuriCPPg++13.3.0Success37,317
Dec 20, 2025 15:13HattonuriHattonuriCPPg++13.3.0Success35,064+0.67 RP
Dec 20, 2025 14:58Mark R BestMark R BestRUSTrust-1.92.0Error
Dec 20, 2025 14:54HattonuriHattonuriCPPg++13.3.0Success40,519
Dec 20, 2025 14:49HattonuriHattonuriCPPg++13.3.0Success37,771
Dec 20, 2025 14:49Mark R BestMark R BestRUSTrust-1.92.0Error
Dec 20, 2025 14:44HattonuriHattonuriCPPg++13.3.0Success37,766
Dec 20, 2025 14:35idatsyidatsyRUSTrust-1.92.0Success70,147+16.75 RP
Dec 20, 2025 13:24HattonuriHattonuriCPPg++13.3.0Success39,824