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 04:14Josu San MartinJosu San MartinCPPg++13.3.0Success40,781
Dec 21, 2025 04:13Josu San MartinJosu San MartinCPPg++13.3.0Success37,884
Dec 21, 2025 04:13Josu San MartinJosu San MartinCPPg++13.3.0Success38,028
Dec 21, 2025 04:12Josu San MartinJosu San MartinCPPg++13.3.0Success41,209
Dec 21, 2025 04:12Josu San MartinJosu San MartinCPPg++13.3.0Success41,190
Dec 21, 2025 04:10Josu San MartinJosu San MartinCPPg++13.3.0Success37,324
Dec 21, 2025 04:09Josu San MartinJosu San MartinCPPg++13.3.0Success37,107
Dec 21, 2025 04:08Josu San MartinJosu San MartinCPPg++13.3.0Success37,022
Dec 21, 2025 04:07Josu San MartinJosu San MartinCPPg++13.3.0Success37,250
Dec 21, 2025 04:06Josu San MartinJosu San MartinCPPg++13.3.0Success37,176
Dec 21, 2025 04:04Josu San MartinJosu San MartinCPPg++13.3.0Success49,824
Dec 21, 2025 04:04Josu San MartinJosu San MartinCPPg++13.3.0Success37,803
Dec 21, 2025 04:02Josu San MartinJosu San MartinCPPg++13.3.0Success46,348
Dec 21, 2025 03:58Josu San MartinJosu San MartinRUSTrust-1.92.0Success37,248
Dec 21, 2025 03:57Josu San MartinJosu San MartinRUSTrust-1.92.0Success39,507
Dec 21, 2025 03:56Josu San MartinJosu San MartinRUSTrust-1.92.0Success40,034
Dec 21, 2025 03:53Josu San MartinJosu San MartinCPPg++13.3.0Success37,850
Dec 21, 2025 03:52Josu San MartinJosu San MartinCPPg++13.3.0Success39,788
Dec 21, 2025 03:52Josu San MartinJosu San MartinCPPg++13.3.0Success37,793
Dec 21, 2025 03:50Josu San MartinJosu San MartinCPPg++13.3.0Success38,457
Dec 21, 2025 03:50Josu San MartinJosu San MartinCPPg++13.3.0Success39,784
Dec 21, 2025 03:45Josu San MartinJosu San MartinRUSTrust-1.92.0Success40,903
Dec 21, 2025 03:39Josu San MartinJosu San MartinCPPg++13.3.0Success37,753
Dec 21, 2025 03:39Josu San MartinJosu San MartinCPPg++13.3.0Success58,903
Dec 21, 2025 03:38Josu San MartinJosu San MartinCPPg++13.3.0Success37,167
Dec 21, 2025 03:38Josu San MartinJosu San MartinCPPg++13.3.0Success37,634
Dec 21, 2025 03:36Josu San MartinJosu San MartinCPPg++13.3.0Success37,255
Dec 21, 2025 03:36Josu San MartinJosu San MartinCPPg++13.3.0Success37,209
Dec 21, 2025 03:35Josu San MartinJosu San MartinCPPg++13.3.0Success36,986
Dec 21, 2025 03:34Josu San MartinJosu San MartinCPPg++13.3.0Success43,743
Dec 21, 2025 03:33Josu San MartinJosu San MartinCPPg++13.3.0Success78,257
Dec 21, 2025 03:12Josu San MartinJosu San MartinCPPg++13.3.0Success41,822
Dec 21, 2025 03:11Josu San MartinJosu San MartinCPPg++13.3.0Success38,248
Dec 21, 2025 03:11Josu San MartinJosu San MartinCPPg++13.3.0Success38,474
Dec 21, 2025 03:02HattonuriHattonuriCPPg++13.3.0Success32,274+3.21 RP
Dec 21, 2025 02:38HattonuriHattonuriCPPg++13.3.0Error
Dec 21, 2025 02:25HattonuriHattonuriCPPg++13.3.0Success32,612+0.09 RP
Dec 21, 2025 02:20HattonuriHattonuriCPPg++13.3.0Success32,622+15.14 RP
Dec 21, 2025 02:04HattonuriHattonuriCPPg++13.3.0Success34,317+1.79 RP
Dec 21, 2025 02:02HattonuriHattonuriCPPg++13.3.0Error
Dec 21, 2025 01:59HattonuriHattonuriCPPg++13.3.0Success34,529+0.41 RP
Dec 21, 2025 01:57HattonuriHattonuriCPPg++13.3.0Success35,816
Dec 21, 2025 01:56HattonuriHattonuriCPPg++13.3.0Error
Dec 21, 2025 01:55HattonuriHattonuriCPPg++13.3.0Success35,498
Dec 21, 2025 01:45Josu San MartinJosu San MartinCPPg++13.3.0Success37,526
Dec 21, 2025 01:43Josu San MartinJosu San MartinCPPg++13.3.0Success38,103
Dec 21, 2025 01:43Josu San MartinJosu San MartinCPPg++13.3.0Success37,760
Dec 21, 2025 01:43Josu San MartinJosu San MartinCPPg++13.3.0Success37,224
Dec 21, 2025 01:43Josu San MartinJosu San MartinCPPg++13.3.0Success39,040
Dec 21, 2025 01:40HattonuriHattonuriCPPg++13.3.0Error
Dec 21, 2025 01:38HattonuriHattonuriCPPg++13.3.0Success34,578+4.01 RP
Dec 21, 2025 00:11Josu San MartinJosu San MartinCPPg++13.3.0Success37,124
Dec 21, 2025 00:11Josu San MartinJosu San MartinCPPg++13.3.0Success36,952
Dec 21, 2025 00:10Josu San MartinJosu San MartinCPPg++13.3.0Success36,926
Dec 21, 2025 00:08Josu San MartinJosu San MartinCPPg++13.3.0Success36,722
Dec 21, 2025 00:08Josu San MartinJosu San MartinCPPg++13.3.0Success36,581+0.28 RP
Dec 21, 2025 00:08Josu San MartinJosu San MartinCPPg++13.3.0Success36,762
Dec 21, 2025 00:08Josu San MartinJosu San MartinCPPg++13.3.0Error
Dec 21, 2025 00:08Josu San MartinJosu San MartinCPPg++13.3.0Success37,336
Dec 21, 2025 00:07Josu San MartinJosu San MartinCPPg++13.3.0Success38,972
Dec 21, 2025 00:07Josu San MartinJosu San MartinCPPg++13.3.0Success37,059
Dec 21, 2025 00:07Josu San MartinJosu San MartinRUSTrust-1.92.0Success37,193+16.40 RP
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