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 19, 2025 13:04Tim ZhamoidinTim ZhamoidinCPPclang++18.1.3Success683,914
Dec 19, 2025 12:59Tim ZhamoidinTim ZhamoidinCPPclang++18.1.3Success675,059
Dec 19, 2025 12:51Tim ZhamoidinTim ZhamoidinCPPclang++18.1.3Success912,357
Dec 19, 2025 12:48Tim ZhamoidinTim ZhamoidinCPPclang++18.1.3Success562,874
Dec 19, 2025 12:47Tim ZhamoidinTim ZhamoidinCPPclang++18.1.3Success575,881
Dec 19, 2025 12:46Tim ZhamoidinTim ZhamoidinCPPclang++18.1.3Success571,276
Dec 19, 2025 12:45Tim ZhamoidinTim ZhamoidinCPPclang++18.1.3Success577,316
Dec 19, 2025 12:44Tim ZhamoidinTim ZhamoidinCPPclang++18.1.3Error
Dec 19, 2025 12:41Tim ZhamoidinTim ZhamoidinCPPclang++18.1.3Success561,898+0.43 RP
Dec 19, 2025 12:37Tim ZhamoidinTim ZhamoidinCPPg++13.3.0Error
Dec 19, 2025 12:35Tim ZhamoidinTim ZhamoidinCPPg++13.3.0Success575,700+17.37 RP
Dec 19, 2025 10:21Wookyung JeongWookyung JeongCPPg++13.3.0Success32,147+6.57 RP
Dec 19, 2025 07:56Wookyung JeongWookyung JeongCPPg++13.3.0Success32,841+1.47 RP
Dec 19, 2025 06:22Josu San MartinJosu San MartinRUSTrust-1.92.0Success64,636+0.49 RP
Dec 19, 2025 06:21Josu San MartinJosu San MartinRUSTrust-1.92.0Error
Dec 19, 2025 06:21Josu San MartinJosu San MartinRUSTrust-1.92.0Success69,779
Dec 19, 2025 06:21Josu San MartinJosu San MartinRUSTrust-1.92.0Error
Dec 19, 2025 06:20Josu San MartinJosu San MartinRUSTrust-1.92.0Error
Dec 19, 2025 06:19Josu San MartinJosu San MartinRUSTrust-1.92.0Error
Dec 19, 2025 06:17Josu San MartinJosu San MartinRUSTrust-1.92.0Error
Dec 19, 2025 06:15Josu San MartinJosu San MartinRUSTrust-1.92.0Success72,350
Dec 19, 2025 06:14Josu San MartinJosu San MartinRUSTrust-1.92.0Error
Dec 19, 2025 06:13Josu San MartinJosu San MartinRUSTrust-1.92.0Error
Dec 19, 2025 06:11Josu San MartinJosu San MartinRUSTrust-1.92.0Success96,598
Dec 19, 2025 06:09Josu San MartinJosu San MartinRUSTrust-1.92.0Success68,147
Dec 19, 2025 06:07Josu San MartinJosu San MartinRUSTrust-1.92.0Success67,143
Dec 19, 2025 06:06Josu San MartinJosu San MartinRUSTrust-1.92.0Success66,278
Dec 19, 2025 06:05Josu San MartinJosu San MartinRUSTrust-1.92.0Success66,207
Dec 19, 2025 06:03Josu San MartinJosu San MartinRUSTrust-1.92.0Success64,840+4.34 RP
Dec 19, 2025 06:00Josu San MartinJosu San MartinRUSTrust-1.92.0Success70,986
Dec 19, 2025 06:00Josu San MartinJosu San MartinRUSTrust-1.92.0Success86,652
Dec 19, 2025 05:59Josu San MartinJosu San MartinRUSTrust-1.92.0Success70,483
Dec 19, 2025 05:59Josu San MartinJosu San MartinRUSTrust-1.92.0Success68,003
Dec 19, 2025 05:57Josu San MartinJosu San MartinRUSTrust-1.92.0Success80,460
Dec 19, 2025 05:56Josu San MartinJosu San MartinRUSTrust-1.92.0Success70,710
Dec 19, 2025 05:56Josu San MartinJosu San MartinRUSTrust-1.92.0Success67,162
Dec 19, 2025 05:56Josu San MartinJosu San MartinRUSTrust-1.92.0Success68,784
Dec 19, 2025 05:55Josu San MartinJosu San MartinRUSTrust-1.92.0Success66,717+2.65 RP
Dec 19, 2025 05:53Josu San MartinJosu San MartinRUSTrust-1.92.0Success67,916+4.28 RP
Dec 19, 2025 05:48Josu San MartinJosu San MartinRUSTrust-1.92.0Success86,343
Dec 19, 2025 05:47Josu San MartinJosu San MartinRUSTrust-1.92.0Success76,172
Dec 19, 2025 05:47Josu San MartinJosu San MartinRUSTrust-1.92.0Success69,947+23.42 RP
Dec 19, 2025 05:44Josu San MartinJosu San MartinRUSTrust-1.92.0Success83,843
Dec 19, 2025 05:43Josu San MartinJosu San MartinRUSTrust-1.92.0Success88,178
Dec 19, 2025 05:42Josu San MartinJosu San MartinRUSTrust-1.92.0Success88,847
Dec 19, 2025 05:41Josu San MartinJosu San MartinRUSTrust-1.92.0Error
Dec 19, 2025 05:40Josu San MartinJosu San MartinRUSTrust-1.92.0Success83,650+0.20 RP
Dec 19, 2025 05:36Josu San MartinJosu San MartinRUSTrust-1.92.0Success83,838
Dec 19, 2025 05:36Josu San MartinJosu San MartinRUSTrust-1.92.0Success83,788+3.58 RP
Dec 19, 2025 05:34Josu San MartinJosu San MartinRUSTrust-1.92.0Error
Dec 19, 2025 05:33Josu San MartinJosu San MartinRUSTrust-1.92.0Success112,853
Dec 19, 2025 05:29Josu San MartinJosu San MartinRUSTrust-1.92.0Success86,376+2.46 RP
Dec 19, 2025 05:25Josu San MartinJosu San MartinRUSTrust-1.92.0Success88,253+6.93 RP
Dec 19, 2025 05:23Josu San MartinJosu San MartinRUSTrust-1.92.0Success94,003+0.65 RP
Dec 19, 2025 05:15Josu San MartinJosu San MartinRUSTrust-1.92.0Success94,584+1.20 RP
Dec 19, 2025 05:14Josu San MartinJosu San MartinRUSTrust-1.92.0Success98,764
Dec 19, 2025 05:10Josu San MartinJosu San MartinRUSTrust-1.92.0Success95,669+2.04 RP
Dec 19, 2025 04:34HattonuriHattonuriCPPg++13.3.0Error
Dec 19, 2025 04:32HattonuriHattonuriCPPg++13.3.0Success41,197
Dec 19, 2025 03:22HattonuriHattonuriCPPg++13.3.0Success38,164
Dec 19, 2025 03:22HattonuriHattonuriCPPg++13.3.0Error
Dec 19, 2025 03:21HattonuriHattonuriCPPg++13.3.0Error
Dec 19, 2025 03:18HattonuriHattonuriCPPg++13.3.0Success38,260
Dec 19, 2025 03:01HattonuriHattonuriCPPg++13.3.0Success39,536
Dec 19, 2025 03:00HattonuriHattonuriCPPg++13.3.0Error
Dec 19, 2025 02:55HattonuriHattonuriCPPg++13.3.0Success39,536
Dec 19, 2025 02:54HattonuriHattonuriCPPg++13.3.0Success36,995
Dec 19, 2025 02:51HattonuriHattonuriCPPg++13.3.0Success47,038
Dec 19, 2025 02:45HattonuriHattonuriCPPg++13.3.0Success37,121
Dec 19, 2025 02:44HattonuriHattonuriCPPg++13.3.0Success37,757
Dec 19, 2025 02:41HattonuriHattonuriCPPg++13.3.0Success37,886
Dec 19, 2025 02:38HattonuriHattonuriCPPg++13.3.0Success38,066
Dec 19, 2025 02:32HattonuriHattonuriCPPg++13.3.0Success39,131
Dec 19, 2025 02:28HattonuriHattonuriCPPg++13.3.0Success37,038
Dec 19, 2025 02:27HattonuriHattonuriCPPg++13.3.0Success36,766
Dec 19, 2025 02:23HattonuriHattonuriCPPg++13.3.0Success62,200
Dec 19, 2025 02:22HattonuriHattonuriCPPg++13.3.0Error
Dec 19, 2025 02:22HattonuriHattonuriCPPg++13.3.0Success88,060
Dec 19, 2025 02:20HattonuriHattonuriCPPg++13.3.0Success67,378
Dec 19, 2025 02:13Wookyung JeongWookyung JeongCPPg++13.3.0Success33,000+0.38 RP
Dec 19, 2025 01:50HattonuriHattonuriCPPg++13.3.0Success38,760
Dec 19, 2025 01:36Josu San MartinJosu San MartinRUSTrust-1.92.0Success101,921
Dec 19, 2025 01:35Josu San MartinJosu San MartinRUSTrust-1.92.0Success99,383
Dec 19, 2025 01:32Josu San MartinJosu San MartinRUSTrust-1.92.0Success97,572+13.03 RP
Dec 19, 2025 01:31Josu San MartinJosu San MartinRUSTrust-1.92.0Success127,747
Dec 19, 2025 01:27Josu San MartinJosu San MartinRUSTrust-1.92.0Success111,783+0.96 RP
Dec 19, 2025 01:23Josu San MartinJosu San MartinRUSTrust-1.92.0Success113,000+3.48 RP
Dec 19, 2025 01:23Josu San MartinJosu San MartinRUSTrust-1.92.0Success132,086
Dec 19, 2025 01:20Josu San MartinJosu San MartinRUSTrust-1.92.0Success117,628+0.37 RP
Dec 19, 2025 01:14Josu San MartinJosu San MartinRUSTrust-1.92.0Success139,403
Dec 19, 2025 01:06Josu San MartinJosu San MartinRUSTrust-1.92.0Success118,145+25.61 RP
Dec 19, 2025 00:52Josu San MartinJosu San MartinRUSTrust-1.92.0Success169,412+19.19 RP
Dec 19, 2025 00:18Josu San MartinJosu San MartinRUSTrust-1.92.0Success251,038+10.11 RP
Dec 19, 2025 00:14Josu San MartinJosu San MartinRUSTrust-1.92.0Success337,917
Dec 18, 2025 23:57HattonuriHattonuriCPPg++13.3.0Success36,364+4.31 RP
Dec 18, 2025 23:44HattonuriHattonuriCPPg++13.3.0Success43,312
Dec 18, 2025 23:42HattonuriHattonuriCPPg++13.3.0Success36,943+5.41 RP
Dec 18, 2025 23:32HattonuriHattonuriCPPg++13.3.0Success128,157
Dec 18, 2025 23:29Josu San MartinJosu San MartinRUSTrust-1.92.0Success336,478+29.72 RP
Dec 18, 2025 23:13HattonuriHattonuriCPPg++13.3.0Success43,014