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 28, 2025 18:09Josu San MartinJosu San MartinRUSTrust-1.92.0Error
Dec 28, 2025 18:07imotw2imotw2CPPg++13.3.0Success90,695+2.63 RP
Dec 28, 2025 18:06Josu San MartinJosu San MartinCPPg++13.3.0Success8,502+716.87 RP
Dec 28, 2025 18:05imotw2imotw2CPPg++13.3.0Success101,581
Dec 28, 2025 18:04Josu San MartinJosu San MartinCPPg++13.3.0Success21,771+177.41 RP
Dec 28, 2025 18:03Unays Unays RUSTrust-1.87.0Success97,124+4.04 RP
Dec 28, 2025 17:59Josu San MartinJosu San MartinCPPg++13.3.0Error
Dec 28, 2025 17:57Josu San MartinJosu San MartinCPPg++13.3.0Error
Dec 28, 2025 17:57imotw2imotw2CPPg++13.3.0Success92,914+39.04 RP
Dec 28, 2025 17:52imotw2imotw2CPPg++13.3.0Success145,795+49.53 RP
Dec 28, 2025 17:46imotw2imotw2CPPg++13.3.0Error
Dec 28, 2025 17:46imotw2imotw2CPPg++13.3.0Error
Dec 28, 2025 17:44imotw2imotw2CPPg++13.3.0Error
Dec 28, 2025 17:42imotw2imotw2CPPg++13.3.0Error
Dec 28, 2025 17:40imotw2imotw2CPPg++13.3.0Error
Dec 28, 2025 17:39imotw2imotw2CPPg++13.3.0Error
Dec 28, 2025 17:37HattonuriHattonuriCPPg++13.3.0Success26,822
Dec 28, 2025 17:35Josu San MartinJosu San MartinRUSTrust-1.92.0Success36,347
Dec 28, 2025 17:29imotw2imotw2CPPg++13.3.0Error
Dec 28, 2025 17:25Unays Unays RUSTrust-1.87.0Success101,090+98.92 RP
Dec 28, 2025 17:23Josu San MartinJosu San MartinRUSTrust-1.92.0Error
Dec 28, 2025 17:23Josu San MartinJosu San MartinRUSTrust-1.92.0Success35,471+2.40 RP
Dec 28, 2025 17:13imotw2imotw2CPPg++13.3.0Success524,790+19.06 RP
Dec 28, 2025 16:20Josu San MartinJosu San MartinRUSTrust-1.92.0Success36,148
Dec 28, 2025 16:20Josu San MartinJosu San MartinCPPg++13.3.0Success39,224
Dec 28, 2025 15:55yenw0dyenw0dRUSTrust-1.85.1Success16,698+223.28 RP
Dec 28, 2025 15:54yenw0dyenw0dRUSTrust-1.85.1Success20,524+343.22 RP
Dec 28, 2025 15:49yenw0dyenw0dRUSTrust-1.85.1Success31,683+151.18 RP
Dec 28, 2025 15:45HattonuriHattonuriCPPg++13.3.0Success26,800+0.26 RP
Dec 28, 2025 15:25yenw0dyenw0dRUSTrust-1.85.1Error
Dec 28, 2025 08:56RussellStrongRussellStrongRUSTrust-1.92.0Success110,964
Dec 28, 2025 08:55RussellStrongRussellStrongRUSTrust-1.92.0Success111,250
Dec 28, 2025 08:39RussellStrongRussellStrongRUSTrust-1.92.0Success111,867
Dec 28, 2025 07:31yenw0dyenw0dRUSTrust-1.85.1Success48,890+50.51 RP
Dec 28, 2025 05:05HattonuriHattonuriCPPg++13.3.0Success27,417
Dec 28, 2025 05:00HattonuriHattonuriCPPg++13.3.0Success27,059
Dec 28, 2025 04:58HattonuriHattonuriCPPg++13.3.0Success26,978
Dec 28, 2025 04:51HattonuriHattonuriCPPg++13.3.0Success27,036
Dec 28, 2025 03:15HattonuriHattonuriCPPg++13.3.0Success26,824
Dec 28, 2025 02:55HattonuriHattonuriCPPg++13.3.0Success26,819+38.04 RP
Dec 28, 2025 02:49HattonuriHattonuriCPPg++13.3.0Success30,867
Dec 28, 2025 02:30HattonuriHattonuriCPPg++13.3.0Error
Dec 28, 2025 02:29HattonuriHattonuriCPPg++13.3.0Error
Dec 28, 2025 02:28HattonuriHattonuriCPPg++13.3.0Error
Dec 28, 2025 01:58Josu San MartinJosu San MartinZIG0.14.0Success104,050+93.17 RP
Dec 28, 2025 01:29yenw0dyenw0dRUSTrust-1.85.1Success64,921+2.82 RP
Dec 27, 2025 22:38Josu San MartinJosu San MartinZIG0.14.0Success3,399,831
Dec 27, 2025 22:29Josu San MartinJosu San MartinZIG0.14.0Error
Dec 27, 2025 22:26Josu San MartinJosu San MartinZIG0.13.0Error
Dec 27, 2025 19:43yenw0dyenw0dRUSTrust-1.85.1Success284,447
Dec 26, 2025 13:39HattonuriHattonuriCPPg++13.3.0Error
Dec 26, 2025 12:18HattonuriHattonuriCPPg++13.3.0Success30,433
Dec 26, 2025 11:36HattonuriHattonuriCPPg++13.3.0Success30,134
Dec 26, 2025 11:28HattonuriHattonuriCPPg++13.3.0Success30,210
Dec 26, 2025 11:11HattonuriHattonuriCPPg++13.3.0Success29,866+1.40 RP
Dec 26, 2025 11:04HattonuriHattonuriCPPg++13.3.0Error
Dec 26, 2025 11:02HattonuriHattonuriCPPg++13.3.0Success29,991+3.35 RP
Dec 25, 2025 14:26HattonuriHattonuriCPPg++13.3.0Success30,872
Dec 25, 2025 14:11HattonuriHattonuriCPPg++13.3.0Success30,322
Dec 25, 2025 13:13HattonuriHattonuriCPPg++13.3.0Success30,355
Dec 25, 2025 11:27HattonuriHattonuriCPPg++13.3.0Success30,383
Dec 25, 2025 05:23Josu San MartinJosu San MartinCPPg++13.3.0Success37,384
Dec 25, 2025 05:23Josu San MartinJosu San MartinCPPg++13.3.0Success37,266
Dec 25, 2025 05:23Josu San MartinJosu San MartinCPPg++13.3.0Success37,836
Dec 25, 2025 03:51Josu San MartinJosu San MartinCPPg++13.3.0Success37,772
Dec 25, 2025 01:22Josu San MartinJosu San MartinCPPg++13.3.0Success36,036
Dec 24, 2025 03:00RussellStrongRussellStrongRUSTrust-1.92.0Success110,126+1.45 RP
Dec 24, 2025 02:59RussellStrongRussellStrongRUSTrust-1.92.0Success112,155
Dec 24, 2025 02:58RussellStrongRussellStrongRUSTrust-1.92.0Success111,907+17.64 RP
Dec 24, 2025 02:45RussellStrongRussellStrongRUSTrust-1.92.0Success139,429+0.13 RP
Dec 24, 2025 02:44RussellStrongRussellStrongRUSTrust-1.72.0Success158,616
Dec 24, 2025 02:43RussellStrongRussellStrongRUSTrust-1.92.0Success139,686+39.83 RP
Dec 24, 2025 01:39HattonuriHattonuriCPPg++13.3.0Success30,883
Dec 24, 2025 01:20HattonuriHattonuriCPPg++13.3.0Success31,793
Dec 24, 2025 00:49HattonuriHattonuriCPPg++13.3.0Success32,297
Dec 24, 2025 00:44HattonuriHattonuriCPPg++13.3.0Success30,295+3.18 RP
Dec 23, 2025 23:47RussellStrongRussellStrongRUSTrust-1.79.0Success335,007
Dec 23, 2025 23:46RussellStrongRussellStrongRUSTrust-1.72.0Success314,821+0.95 RP
Dec 23, 2025 23:45HattonuriHattonuriCPPg++13.3.0Success30,866
Dec 23, 2025 23:44RussellStrongRussellStrongRUSTrust-1.92.0Success333,067
Dec 23, 2025 23:43RussellStrongRussellStrongRUSTrust-1.89.0Success324,572+2.24 RP
Dec 23, 2025 23:34HattonuriHattonuriCPPg++13.3.0Success30,590+4.81 RP
Dec 23, 2025 23:30HattonuriHattonuriCPPg++13.3.0Success31,788
Dec 23, 2025 23:26HattonuriHattonuriCPPg++13.3.0Success31,372
Dec 23, 2025 19:13HattonuriHattonuriCPPg++13.3.0Success31,134
Dec 23, 2025 16:27Josu San MartinJosu San MartinCPPg++13.3.0Success36,600
Dec 23, 2025 16:26Josu San MartinJosu San MartinCPPg++13.3.0Error
Dec 23, 2025 16:26Josu San MartinJosu San MartinCPPg++13.3.0Success40,478
Dec 23, 2025 16:26Josu San MartinJosu San MartinCPPg++13.3.0Success39,890
Dec 23, 2025 16:26Josu San MartinJosu San MartinCPPg++13.3.0Success37,741
Dec 23, 2025 16:25Josu San MartinJosu San MartinCPPg++13.3.0Success37,248
Dec 23, 2025 15:27Josu San MartinJosu San MartinRUSTrust-1.92.0Success36,293+6.67 RP
Dec 23, 2025 14:52Josu San MartinJosu San MartinCPPg++13.3.0Success35,776+1.99 RP
Dec 23, 2025 14:51Josu San MartinJosu San MartinCPPg++13.3.0Success36,033+0.08 RP
Dec 23, 2025 14:51Josu San MartinJosu San MartinCPPg++13.3.0Success36,216
Dec 23, 2025 14:51Josu San MartinJosu San MartinCPPg++13.3.0Success36,043+2.54 RP
Dec 23, 2025 14:51Josu San MartinJosu San MartinCPPg++13.3.0Success36,655
Dec 23, 2025 14:50Josu San MartinJosu San MartinCPPg++13.3.0Success37,831
Dec 23, 2025 10:56Liquidity GoblinLiquidity GoblinRUSTrust-1.92.0Success215,922
Dec 23, 2025 10:54Liquidity GoblinLiquidity GoblinRUSTrust-1.92.0Error