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
Jan 14, 2026 02:04RussellStrongRussellStrongRUSTrust-1.92.0Success248,667
Jan 14, 2026 02:03RussellStrongRussellStrongRUSTrust-1.92.0Success253,084
Jan 14, 2026 01:15RussellStrongRussellStrongRUSTrust-1.92.0Success104,955
Jan 14, 2026 01:14RussellStrongRussellStrongRUSTrust-1.92.0Success106,888
Jan 14, 2026 01:14RussellStrongRussellStrongRUSTrust-1.92.0Success104,255
Jan 14, 2026 01:13RussellStrongRussellStrongRUSTrust-1.92.0Success104,172
Jan 14, 2026 01:12RussellStrongRussellStrongRUSTrust-1.92.0Success248,326
Jan 14, 2026 01:11RussellStrongRussellStrongRUSTrust-1.92.0Success265,028
Jan 14, 2026 01:09RussellStrongRussellStrongRUSTrust-1.92.0Success251,207
Jan 14, 2026 00:47RussellStrongRussellStrongRUSTrust-1.92.0Success255,205
Jan 11, 2026 11:14Tim ZhamoidinTim ZhamoidinCPPclang++18.1.3Success94,905
Jan 10, 2026 17:04Juraj ZelmanJuraj ZelmanRUSTrust-1.91.1Error
Jan 10, 2026 17:02Juraj ZelmanJuraj ZelmanRUSTrust-1.91.1Error
Jan 9, 2026 23:18Juraj ZelmanJuraj ZelmanRUSTrust-1.91.1Error
Jan 9, 2026 23:13Juraj ZelmanJuraj ZelmanRUSTrust-1.91.1Success107,798
Jan 9, 2026 22:21Juraj ZelmanJuraj ZelmanRUSTrust-1.91.1Success107,840
Jan 9, 2026 22:10Juraj ZelmanJuraj ZelmanRUSTrust-1.91.1Success107,140
Jan 9, 2026 21:55Juraj ZelmanJuraj ZelmanRUSTrust-1.91.1Success107,240
Jan 9, 2026 21:30Juraj ZelmanJuraj ZelmanRUSTrust-1.91.1Success108,110
Jan 9, 2026 21:26Juraj ZelmanJuraj ZelmanRUSTrust-1.91.1Success106,724+0.77 RP
Jan 9, 2026 21:21Juraj ZelmanJuraj ZelmanRUSTrust-1.91.1Success107,912
Jan 9, 2026 21:19Juraj ZelmanJuraj ZelmanRUSTrust-1.91.1Error
Jan 9, 2026 21:17Juraj ZelmanJuraj ZelmanRUSTrust-1.91.1Success108,519
Jan 9, 2026 20:59Juraj ZelmanJuraj ZelmanRUSTrust-1.91.1Success108,797
Jan 9, 2026 20:55Juraj ZelmanJuraj ZelmanRUSTrust-1.91.1Success109,069
Jan 9, 2026 20:50Juraj ZelmanJuraj ZelmanRUSTrust-1.91.1Success107,607+13.85 RP
Jan 9, 2026 20:27Juraj ZelmanJuraj ZelmanRUSTrust-1.91.1Success126,447+79.08 RP
Jan 8, 2026 16:44AriiellusAriiellusRUSTrust-1.92.0Success336,009+3.81 RP
Jan 8, 2026 16:23AriiellusAriiellusRUSTrust-1.92.0Success385,322+0.20 RP
Jan 8, 2026 06:00AriiellusAriiellusRUSTrust-1.92.0Success388,264+25.76 RP
Jan 8, 2026 05:52AriiellusAriiellusRUSTrust-1.92.0Error
Jan 7, 2026 05:15Josu San MartinJosu San MartinGOgo1.25.5Success7,905+473.01 RP
Jan 7, 2026 05:05Josu San MartinJosu San MartinGOgo1.25.5Success12,626+2.25 RP
Jan 6, 2026 16:45Tim ZhamoidinTim ZhamoidinCPPclang++18.1.3Success93,619
Jan 6, 2026 16:42Tim ZhamoidinTim ZhamoidinCPPclang++18.1.3Error
Jan 3, 2026 01:02RussellStrongRussellStrongRUSTrust-1.92.0Success101,572
Jan 2, 2026 07:59RussellStrongRussellStrongRUSTrust-1.92.0Success122,931
Jan 2, 2026 07:58RussellStrongRussellStrongRUSTrust-1.92.0Success105,779
Jan 2, 2026 07:43RussellStrongRussellStrongRUSTrust-1.92.0Success100,324+1.12 RP
Jan 2, 2026 07:40RussellStrongRussellStrongRUSTrust-1.92.0Success101,459+0.80 RP
Jan 2, 2026 07:39RussellStrongRussellStrongRUSTrust-1.92.0Success120,919
Jan 2, 2026 07:36RussellStrongRussellStrongRUSTrust-1.92.0Success102,562
Jan 2, 2026 07:35RussellStrongRussellStrongRUSTrust-1.92.0Success102,291+0.18 RP
Jan 2, 2026 07:34RussellStrongRussellStrongRUSTrust-1.92.0Success104,062
Jan 2, 2026 07:34RussellStrongRussellStrongRUSTrust-1.92.0Success102,481+2.89 RP
Jan 2, 2026 07:25RussellStrongRussellStrongRUSTrust-1.92.0Success106,993
Jan 2, 2026 07:21RussellStrongRussellStrongRUSTrust-1.92.0Success272,257
Jan 2, 2026 07:16RussellStrongRussellStrongRUSTrust-1.92.0Success105,612+1.66 RP
Jan 2, 2026 06:45RussellStrongRussellStrongRUSTrust-1.92.0Success107,528
Jan 2, 2026 06:43RussellStrongRussellStrongRUSTrust-1.92.0Success107,986
Jan 2, 2026 06:36RussellStrongRussellStrongRUSTrust-1.92.0Success107,500+0.82 RP
Jan 2, 2026 06:25RussellStrongRussellStrongRUSTrust-1.92.0Success108,859
Jan 2, 2026 06:20RussellStrongRussellStrongRUSTrust-1.92.0Success109,333
Jan 2, 2026 06:19RussellStrongRussellStrongRUSTrust-1.92.0Success109,776
Jan 2, 2026 06:16RussellStrongRussellStrongRUSTrust-1.92.0Success110,559
Jan 2, 2026 06:15RussellStrongRussellStrongRUSTrust-1.72.0Success120,081
Jan 2, 2026 05:52RussellStrongRussellStrongRUSTrust-1.72.0Success121,405
Jan 2, 2026 05:51RussellStrongRussellStrongRUSTrust-1.92.0Success110,429
Jan 2, 2026 05:49RussellStrongRussellStrongRUSTrust-1.92.0Success109,564
Jan 2, 2026 05:48RussellStrongRussellStrongRUSTrust-1.92.0Success108,498
Jan 2, 2026 05:48RussellStrongRussellStrongRUSTrust-1.92.0Success108,453+0.01 RP
Jan 2, 2026 05:44RussellStrongRussellStrongRUSTrust-1.92.0Success108,466+1.39 RP
Jan 2, 2026 05:39RussellStrongRussellStrongRUSTrust-1.92.0Success137,922
Jan 2, 2026 05:37RussellStrongRussellStrongRUSTrust-1.92.0Success180,674
Jan 2, 2026 05:36RussellStrongRussellStrongRUSTrust-1.92.0Success135,948
Jan 2, 2026 05:35RussellStrongRussellStrongRUSTrust-1.92.0Success148,095
Jan 2, 2026 05:35RussellStrongRussellStrongRUSTrust-1.92.0Success114,119
Jan 2, 2026 05:33RussellStrongRussellStrongRUSTrust-1.92.0Success113,874
Jan 2, 2026 05:32RussellStrongRussellStrongRUSTrust-1.92.0Success114,953
Jan 2, 2026 05:32RussellStrongRussellStrongRUSTrust-1.92.0Success180,472
Jan 2, 2026 05:31RussellStrongRussellStrongRUSTrust-1.92.0Success125,152
Jan 2, 2026 05:31RussellStrongRussellStrongRUSTrust-1.92.0Success150,747
Jan 1, 2026 17:30yenw0dyenw0dRUSTrust-1.85.1Success12,593
Jan 1, 2026 16:22yenw0dyenw0dRUSTrust-1.85.1Success11,374+0.39 RP
Dec 31, 2025 16:50Aniruddha DebAniruddha DebCPPg++13.3.0Success8,474
Dec 31, 2025 16:47Aniruddha DebAniruddha DebCPPg++13.3.0Success8,500
Dec 31, 2025 16:40Aniruddha DebAniruddha DebCPPg++13.3.0Success33,774
Dec 31, 2025 16:39Aniruddha DebAniruddha DebCPPg++13.3.0Success33,671
Dec 31, 2025 16:39Aniruddha DebAniruddha DebCPPg++13.3.0Success32,897
Dec 31, 2025 16:38Aniruddha DebAniruddha DebCPPclang++18.1.3Error
Dec 31, 2025 10:38Aniruddha DebAniruddha DebCPPg++13.3.0Success13,753
Dec 31, 2025 10:37Aniruddha DebAniruddha DebCPPg++13.3.0Error
Dec 31, 2025 10:36Aniruddha DebAniruddha DebCPPg++13.3.0Success8,902
Dec 31, 2025 10:35Aniruddha DebAniruddha DebCPPg++13.3.0Success9,066
Dec 31, 2025 10:32Aniruddha DebAniruddha DebCPPg++13.3.0Success9,462
Dec 31, 2025 10:18Aniruddha DebAniruddha DebCPPg++13.3.0Success9,467
Dec 31, 2025 10:16Aniruddha DebAniruddha DebCPPg++13.3.0Success9,522
Dec 31, 2025 10:14Aniruddha DebAniruddha DebCPPg++13.3.0Success8,638
Dec 31, 2025 10:13Aniruddha DebAniruddha DebCPPg++13.3.0Success9,528
Dec 31, 2025 10:10Aniruddha DebAniruddha DebCPPg++13.3.0Error
Dec 31, 2025 10:07Aniruddha DebAniruddha DebCPPg++13.3.0Success9,381
Dec 31, 2025 10:01Aniruddha DebAniruddha DebCPPg++13.3.0Success10,721
Dec 31, 2025 10:00Aniruddha DebAniruddha DebCPPg++13.3.0Error
Dec 31, 2025 01:01yenw0dyenw0dRUSTrust-1.85.1Success11,457
Dec 31, 2025 00:16yenw0dyenw0dRUSTrust-1.85.1Error
Dec 31, 2025 00:11yenw0dyenw0dRUSTrust-1.85.1Error
Dec 30, 2025 23:59yenw0dyenw0dRUSTrust-1.85.1Error
Dec 30, 2025 23:52yenw0dyenw0dRUSTrust-1.85.1Success11,379+66.73 RP
Dec 30, 2025 23:48yenw0dyenw0dRUSTrust-1.85.1Success13,638
Dec 30, 2025 22:46Aniruddha DebAniruddha DebCPPclang++18.1.3Error