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 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
Dec 30, 2025 22:45yenw0dyenw0dRUSTrust-1.85.1Success51,521
Dec 30, 2025 22:45Aniruddha DebAniruddha DebCPPg++13.3.0Error
Dec 30, 2025 22:45Aniruddha DebAniruddha DebCPPg++13.3.0Success10,650
Dec 30, 2025 22:44yenw0dyenw0dRUSTrust-1.85.1Success50,936
Dec 30, 2025 22:43Aniruddha DebAniruddha DebCPPg++13.3.0Success10,790
Dec 30, 2025 22:41Aniruddha DebAniruddha DebCPPg++13.3.0Success16,124
Dec 30, 2025 22:38yenw0dyenw0dRUSTrust-1.85.1Success50,100
Dec 30, 2025 22:38yenw0dyenw0dRUSTrust-1.85.1Success53,331
Dec 30, 2025 22:38Aniruddha DebAniruddha DebCPPg++13.3.0Error
Dec 30, 2025 22:37yenw0dyenw0dRUSTrust-1.85.1Success50,928
Dec 30, 2025 22:36yenw0dyenw0dRUSTrust-1.85.1Error
Dec 30, 2025 22:36yenw0dyenw0dRUSTrust-1.85.1Success50,516
Dec 30, 2025 22:33yenw0dyenw0dRUSTrust-1.85.1Success52,357
Dec 30, 2025 22:33yenw0dyenw0dRUSTrust-1.85.1Success52,745
Dec 30, 2025 22:32yenw0dyenw0dRUSTrust-1.85.1Error
Dec 30, 2025 21:57yenw0dyenw0dRUSTrust-1.85.1Error
Dec 30, 2025 21:53yenw0dyenw0dRUSTrust-1.85.1Error
Dec 30, 2025 21:53yenw0dyenw0dRUSTrust-1.85.1Error
Dec 30, 2025 21:09yenw0dyenw0dRUSTrust-1.85.1Error
Dec 30, 2025 20:29Josu San MartinJosu San MartinRUSTrust-1.92.0Error
Dec 30, 2025 20:11DaríoDaríoRUSTrust-1.92.0Success132,948+0.24 RP
Dec 30, 2025 19:35DaríoDaríoRUSTrust-1.92.0Success133,388
Dec 30, 2025 19:34DaríoDaríoRUSTrust-1.92.0Error
Dec 30, 2025 19:32DaríoDaríoRUSTrust-1.92.0Success133,374+0.20 RP
Dec 30, 2025 19:31DaríoDaríoRUSTrust-1.92.0Success134,469
Dec 30, 2025 19:20DaríoDaríoRUSTrust-1.92.0Success133,731+0.07 RP
Dec 30, 2025 19:18DaríoDaríoRUSTrust-1.92.0Success133,860+7.81 RP
Dec 30, 2025 18:23DaríoDaríoRUSTrust-1.92.0Success154,134
Dec 30, 2025 18:23DaríoDaríoRUSTrust-1.92.0Error
Dec 30, 2025 18:22DaríoDaríoRUSTrust-1.92.0Error