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 19:00Josu San MartinJosu San MartinCPPg++13.3.0Success36,779
Dec 21, 2025 18:50Josu San MartinJosu San MartinCPPg++13.3.0Success36,979
Dec 21, 2025 18:42Josu San MartinJosu San MartinCPPg++13.3.0Success37,102
Dec 21, 2025 18:41Josu San MartinJosu San MartinCPPg++13.3.0Success36,814
Dec 21, 2025 18:14Josu San MartinJosu San MartinCPPg++13.3.0Success36,974
Dec 21, 2025 18:13Josu San MartinJosu San MartinCPPg++13.3.0Success37,878
Dec 21, 2025 18:13Josu San MartinJosu San MartinCPPg++13.3.0Success37,790
Dec 21, 2025 16:12Josu San MartinJosu San MartinCPPg++13.3.0Success45,890
Dec 21, 2025 15:53Josu San MartinJosu San MartinCPPg++13.3.0Success61,991
Dec 21, 2025 12:56Liquidity GoblinLiquidity GoblinRUSTrust-1.92.0Error
Dec 21, 2025 12:31Liquidity GoblinLiquidity GoblinRUSTrust-1.92.0Error
Dec 21, 2025 12:23Liquidity GoblinLiquidity GoblinRUSTrust-1.92.0Error
Dec 21, 2025 12:20Liquidity GoblinLiquidity GoblinRUSTrust-1.92.0Error
Dec 21, 2025 12:17Liquidity GoblinLiquidity GoblinRUSTrust-1.92.0Error
Dec 21, 2025 12:15Liquidity GoblinLiquidity GoblinRUSTrust-1.92.0Error
Dec 21, 2025 12:11Liquidity GoblinLiquidity GoblinRUSTrust-1.92.0Error
Dec 21, 2025 12:06Liquidity GoblinLiquidity GoblinRUSTrust-1.92.0Error
Dec 21, 2025 12:03Liquidity GoblinLiquidity GoblinRUSTrust-1.92.0Error
Dec 21, 2025 11:40Liquidity GoblinLiquidity GoblinRUSTrust-1.92.0Error
Dec 21, 2025 11:37parastromparastromRUSTrust-1.90.0Success73,926+16.91 RP
Dec 21, 2025 11:33Liquidity GoblinLiquidity GoblinRUSTrust-1.92.0Error
Dec 21, 2025 11:32idatsyidatsyRUSTrust-1.92.0Success229,019
Dec 21, 2025 11:26Liquidity GoblinLiquidity GoblinRUSTrust-1.92.0Success94,919
Dec 21, 2025 11:10Liquidity GoblinLiquidity GoblinRUSTrust-1.92.0Success99,767
Dec 21, 2025 11:09Liquidity GoblinLiquidity GoblinRUSTrust-1.92.0Success99,812
Dec 21, 2025 11:03Liquidity GoblinLiquidity GoblinRUSTrust-1.92.0Error
Dec 21, 2025 10:58Liquidity GoblinLiquidity GoblinRUSTrust-1.92.0Error
Dec 21, 2025 10:56Liquidity GoblinLiquidity GoblinRUSTrust-1.92.0Success100,057
Dec 21, 2025 10:54Liquidity GoblinLiquidity GoblinRUSTrust-1.92.0Success99,445
Dec 21, 2025 10:48Liquidity GoblinLiquidity GoblinRUSTrust-1.92.0Error
Dec 21, 2025 10:46Liquidity GoblinLiquidity GoblinRUSTrust-1.92.0Error
Dec 21, 2025 10:44Liquidity GoblinLiquidity GoblinRUSTrust-1.92.0Error
Dec 21, 2025 10:41Liquidity GoblinLiquidity GoblinRUSTrust-1.92.0Error
Dec 21, 2025 10:39Liquidity GoblinLiquidity GoblinRUSTrust-1.92.0Error
Dec 21, 2025 10:30Liquidity GoblinLiquidity GoblinRUSTrust-1.92.0Success102,562
Dec 21, 2025 10:24Liquidity GoblinLiquidity GoblinRUSTrust-1.92.0Error
Dec 21, 2025 10:18Liquidity GoblinLiquidity GoblinRUSTrust-1.92.0Error
Dec 21, 2025 09:48NaseefNaseefCPPg++13.3.0Error
Dec 21, 2025 07:39KeefeKeefeCPPclang++18.1.3Success88,512
Dec 21, 2025 07:39KeefeKeefeCPPg++13.3.0Success90,879
Dec 21, 2025 07:32KeefeKeefeCPPclang++18.1.3Success92,400
Dec 21, 2025 07:31KeefeKeefeCPPg++13.3.0Success86,286
Dec 21, 2025 07:28Liquidity GoblinLiquidity GoblinRUSTrust-1.92.0Error
Dec 21, 2025 07:26Liquidity GoblinLiquidity GoblinRUSTrust-1.92.0Success302,488
Dec 21, 2025 07:25Liquidity GoblinLiquidity GoblinRUSTrust-1.92.0Success90,590
Dec 21, 2025 07:24Liquidity GoblinLiquidity GoblinRUSTrust-1.92.0Error
Dec 21, 2025 07:22Liquidity GoblinLiquidity GoblinRUSTrust-1.92.0Success93,745
Dec 21, 2025 07:21Liquidity GoblinLiquidity GoblinRUSTrust-1.92.0Success152,650
Dec 21, 2025 07:18Liquidity GoblinLiquidity GoblinRUSTrust-1.92.0Success88,100+1.96 RP
Dec 21, 2025 07:14Liquidity GoblinLiquidity GoblinRUSTrust-1.92.0Success172,545
Dec 21, 2025 07:05Liquidity GoblinLiquidity GoblinRUSTrust-1.92.0Error
Dec 21, 2025 06:59Liquidity GoblinLiquidity GoblinRUSTrust-1.92.0Success204,957
Dec 21, 2025 06:55Liquidity GoblinLiquidity GoblinRUSTrust-1.92.0Success89,645+6.46 RP
Dec 21, 2025 06:48Liquidity GoblinLiquidity GoblinRUSTrust-1.92.0Success154,398
Dec 21, 2025 06:43Liquidity GoblinLiquidity GoblinRUSTrust-1.92.0Error
Dec 21, 2025 06:40Liquidity GoblinLiquidity GoblinRUSTrust-1.92.0Error
Dec 21, 2025 06:33Liquidity GoblinLiquidity GoblinRUSTrust-1.92.0Success288,160
Dec 21, 2025 06:30Liquidity GoblinLiquidity GoblinRUSTrust-1.92.0Error
Dec 21, 2025 06:26Liquidity GoblinLiquidity GoblinRUSTrust-1.92.0Error
Dec 21, 2025 06:24Liquidity GoblinLiquidity GoblinRUSTrust-1.92.0Error
Dec 21, 2025 06:20Liquidity GoblinLiquidity GoblinRUSTrust-1.92.0Error
Dec 21, 2025 06:12Liquidity GoblinLiquidity GoblinRUSTrust-1.92.0Success95,155+12.54 RP
Dec 21, 2025 06:04Liquidity GoblinLiquidity GoblinRUSTrust-1.92.0Success108,052+0.81 RP
Dec 21, 2025 06:03Liquidity GoblinLiquidity GoblinRUSTrust-1.92.0Success109,003+91.74 RP
Dec 21, 2025 05:58Liquidity GoblinLiquidity GoblinRUSTrust-1.92.0Error
Dec 21, 2025 05:53Liquidity GoblinLiquidity GoblinRUSTrust-1.92.0Error
Dec 21, 2025 05:43Liquidity GoblinLiquidity GoblinRUSTrust-1.92.0Error
Dec 21, 2025 05:38Liquidity GoblinLiquidity GoblinRUSTrust-1.92.0Error
Dec 21, 2025 05:34Liquidity GoblinLiquidity GoblinRUSTrust-1.92.0Error
Dec 21, 2025 05:20Liquidity GoblinLiquidity GoblinRUSTrust-1.92.0Error
Dec 21, 2025 05:15Josu San MartinJosu San MartinCPPg++13.3.0Success120,562
Dec 21, 2025 05:14Josu San MartinJosu San MartinCPPg++13.3.0Success119,209
Dec 21, 2025 05:05Josu San MartinJosu San MartinCPPg++13.3.0Success36,810
Dec 21, 2025 04:56Josu San MartinJosu San MartinCPPg++13.3.0Success36,767
Dec 21, 2025 04:54Josu San MartinJosu San MartinCPPg++13.3.0Error
Dec 21, 2025 04:53Josu San MartinJosu San MartinCPPg++13.3.0Success39,003
Dec 21, 2025 04:53Josu San MartinJosu San MartinCPPg++13.3.0Success37,766
Dec 21, 2025 04:52Josu San MartinJosu San MartinCPPg++13.3.0Success248,567
Dec 21, 2025 04:52Josu San MartinJosu San MartinCPPg++13.3.0Success663,038
Dec 21, 2025 04:52Josu San MartinJosu San MartinCPPg++13.3.0Success90,548
Dec 21, 2025 04:51Josu San MartinJosu San MartinCPPg++13.3.0Success36,517+0.48 RP
Dec 21, 2025 04:50Josu San MartinJosu San MartinCPPg++13.3.0Success71,307
Dec 21, 2025 04:49Josu San MartinJosu San MartinCPPg++13.3.0Error
Dec 21, 2025 04:49Josu San MartinJosu San MartinCPPg++13.3.0Success68,122
Dec 21, 2025 04:45Josu San MartinJosu San MartinCPPg++13.3.0Success154,921
Dec 21, 2025 04:44Josu San MartinJosu San MartinCPPg++13.3.0Success135,610
Dec 21, 2025 04:43Josu San MartinJosu San MartinCPPg++13.3.0Success50,234
Dec 21, 2025 04:42Josu San MartinJosu San MartinCPPg++13.3.0Error
Dec 21, 2025 04:42Josu San MartinJosu San MartinCPPg++13.3.0Success46,131
Dec 21, 2025 04:42Josu San MartinJosu San MartinCPPg++13.3.0Success56,095
Dec 21, 2025 04:41Josu San MartinJosu San MartinCPPg++13.3.0Success49,126
Dec 21, 2025 04:37Josu San MartinJosu San MartinCPPg++13.3.0Error
Dec 21, 2025 04:36Josu San MartinJosu San MartinCPPg++13.3.0Error
Dec 21, 2025 04:28Josu San MartinJosu San MartinCPPg++13.3.0Success42,381
Dec 21, 2025 04:27Josu San MartinJosu San MartinCPPg++13.3.0Success37,790
Dec 21, 2025 04:27Josu San MartinJosu San MartinCPPg++13.3.0Success36,834
Dec 21, 2025 04:25Josu San MartinJosu San MartinCPPg++13.3.0Success36,840
Dec 21, 2025 04:25Josu San MartinJosu San MartinCPPg++13.3.0Success36,833
Dec 21, 2025 04:23Josu San MartinJosu San MartinCPPg++13.3.0Success37,972
Dec 21, 2025 04:18Josu San MartinJosu San MartinCPPg++13.3.0Success36,969