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 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
Dec 20, 2025 13:16HattonuriHattonuriCPPg++13.3.0Success37,281
Dec 20, 2025 12:06idatsyidatsyRUSTrust-1.92.0Success92,936
Dec 20, 2025 11:39idatsyidatsyRUSTrust-1.92.0Success82,557
Dec 20, 2025 11:08idatsyidatsyRUSTrust-1.92.0Success79,486+3.76 RP
Dec 20, 2025 03:10HattonuriHattonuriCPPg++13.3.0Success37,771
Dec 20, 2025 03:01HattonuriHattonuriCPPg++13.3.0Success36,419
Dec 20, 2025 03:00HattonuriHattonuriCPPg++13.3.0Success45,709
Dec 20, 2025 02:51HattonuriHattonuriCPPg++13.3.0Success37,886
Dec 20, 2025 02:50HattonuriHattonuriCPPg++13.3.0Success36,409
Dec 20, 2025 02:46HattonuriHattonuriCPPg++13.3.0Success38,571
Dec 20, 2025 02:40HattonuriHattonuriCPPg++13.3.0Success36,886
Dec 20, 2025 02:36HattonuriHattonuriCPPg++13.3.0Success37,940
Dec 20, 2025 02:32HattonuriHattonuriCPPg++13.3.0Success36,036
Dec 20, 2025 02:32HattonuriHattonuriCPPg++13.3.0Success38,859
Dec 20, 2025 02:27HattonuriHattonuriCPPg++13.3.0Success36,893
Dec 20, 2025 02:24HattonuriHattonuriCPPg++13.3.0Success38,684
Dec 20, 2025 02:18HattonuriHattonuriCPPg++13.3.0Success38,084
Dec 20, 2025 02:12HattonuriHattonuriCPPg++13.3.0Success36,864
Dec 20, 2025 02:01I Love HattonuriI Love HattonuriCPPclang++18.1.3Success1,289,902
Dec 20, 2025 02:01I Love HattonuriI Love HattonuriCPPclang++18.1.3Success1,303,178
Dec 20, 2025 01:59HattonuriHattonuriCPPg++13.3.0Success45,328
Dec 20, 2025 01:58I Love HattonuriI Love HattonuriCPPclang++18.1.3Success305,838+32.70 RP
Dec 20, 2025 01:48HattonuriHattonuriCPPg++13.3.0Success36,452
Dec 20, 2025 01:46HattonuriHattonuriCPPg++13.3.0Success36,998
Dec 20, 2025 00:33HattonuriHattonuriCPPg++13.3.0Success37,310
Dec 20, 2025 00:32HattonuriHattonuriCPPg++13.3.0Success39,941
Dec 20, 2025 00:28HattonuriHattonuriCPPg++13.3.0Success36,516
Dec 20, 2025 00:27HattonuriHattonuriCPPg++13.3.0Success37,850
Dec 19, 2025 23:53HattonuriHattonuriCPPg++13.3.0Success37,838
Dec 19, 2025 23:48HattonuriHattonuriCPPg++13.3.0Success38,481
Dec 19, 2025 23:47HattonuriHattonuriCPPg++13.3.0Success37,902
Dec 19, 2025 23:46HattonuriHattonuriCPPg++13.3.0Success38,064
Dec 19, 2025 23:45HattonuriHattonuriCPPg++13.3.0Success38,086
Dec 19, 2025 23:42HattonuriHattonuriCPPg++13.3.0Success37,766
Dec 19, 2025 23:40HattonuriHattonuriCPPg++13.3.0Success38,248
Dec 19, 2025 23:39HattonuriHattonuriCPPg++13.3.0Success38,276
Dec 19, 2025 23:39HattonuriHattonuriCPPg++13.3.0Success36,053
Dec 19, 2025 23:37HattonuriHattonuriCPPg++13.3.0Success36,686
Dec 19, 2025 23:35HattonuriHattonuriCPPg++13.3.0Success35,147+1.44 RP
Dec 19, 2025 23:35HattonuriHattonuriCPPg++13.3.0Success38,283
Dec 19, 2025 23:32HattonuriHattonuriCPPg++13.3.0Success38,402
Dec 19, 2025 23:29HattonuriHattonuriCPPg++13.3.0Success35,326+0.17 RP
Dec 19, 2025 23:24HattonuriHattonuriCPPg++13.3.0Success36,995
Dec 19, 2025 23:13HattonuriHattonuriCPPclang++18.1.3Success39,157
Dec 19, 2025 21:51idatsyidatsyRUSTrust-1.92.0Error
Dec 19, 2025 21:24idatsyidatsyRUSTError
Dec 19, 2025 19:59idatsyidatsyRUSTrust-1.92.0Success81,936+28.79 RP
Dec 19, 2025 19:43Josu San MartinJosu San MartinCPPg++13.3.0Success65,779
Dec 19, 2025 19:27Josu San MartinJosu San MartinRUSTrust-1.92.0Success65,848
Dec 19, 2025 19:25idatsyidatsyRUSTrust-1.92.0Success107,226+77.12 RP
Dec 19, 2025 19:01Josu San MartinJosu San MartinCPPg++13.3.0Success62,916
Dec 19, 2025 18:56Josu San MartinJosu San MartinCPPclang++18.1.3Success87,060
Dec 19, 2025 18:47Josu San MartinJosu San MartinCPPclang++18.1.3Success153,248
Dec 19, 2025 18:46Josu San MartinJosu San MartinRUSTrust-1.92.0Success93,403
Dec 19, 2025 18:45Josu San MartinJosu San MartinRUSTrust-1.92.0Error
Dec 19, 2025 18:43Josu San MartinJosu San MartinCPPg++13.3.0Success156,700
Dec 19, 2025 18:40Josu San MartinJosu San MartinRUSTrust-1.92.0Error
Dec 19, 2025 18:31Josu San MartinJosu San MartinCPPg++13.3.0Success65,303
Dec 19, 2025 18:29Josu San MartinJosu San MartinCPPclang++18.1.3Success63,422
Dec 19, 2025 18:26Josu San MartinJosu San MartinCPPg++13.3.0Success65,312
Dec 19, 2025 18:19HattonuriHattonuriCPPg++13.3.0Success38,314
Dec 19, 2025 18:10Josu San MartinJosu San MartinRUSTrust-1.92.0Success61,879