Parse JSON Sergey Svistunov

Compute the total amount of non-canceled external USD transactions from a stream of JSON records as fast as possible.

Input: 1 000 000 JSON records on STDIN, one per line. Each record has the following structure:

{
    "user_id": 0,
    "currency": "USD",
    "transactions": [
        {
            "amount": 0,
            "to_user_id": 0,
            "canceled": false
        }
    ]
}
Field Constraints
user_id Integer, max 10 000
currency One of "GBP", "USD", "RUB", "JPY", "CHF"
transactions Array, max 10 elements
amount Integer, max 1000
canceled Boolean; may be omitted when false

Field order is not guaranteed within any object.

Output: The total amount of all transactions where:

  • record.currency == "USD"
  • transaction.to_user_id != record.user_id (external)
  • transaction.canceled is false or absent
Date AuthorLanguageStatus Score
Sep 26, 2025 14:28Wookyung JeongWookyung JeongCPPg++13.3.0Error
Sep 26, 2025 14:22Wookyung JeongWookyung JeongCPPg++13.3.0Error
Sep 26, 2025 14:20Wookyung JeongWookyung JeongCPPg++13.3.0Error
Sep 26, 2025 14:18Wookyung JeongWookyung JeongCPPg++13.3.0Error
Sep 26, 2025 13:52Wookyung JeongWookyung JeongCPPg++13.3.0Error
Sep 26, 2025 13:50Wookyung JeongWookyung JeongCPPg++13.3.0Error
Sep 26, 2025 13:50Wookyung JeongWookyung JeongCPPg++13.3.0Error
Sep 26, 2025 13:49Jin KimJin KimCPPg++13.3.0Error
Sep 26, 2025 13:44Jin KimJin KimCPPg++13.3.0Error
Sep 26, 2025 13:32Wookyung JeongWookyung JeongCPPg++13.3.0Error
Sep 26, 2025 13:32Wookyung JeongWookyung JeongCPPg++13.3.0Error
Sep 26, 2025 13:31Jin KimJin KimCPPg++13.3.0Success623,784
Sep 26, 2025 13:30Jin KimJin KimCPPg++13.3.0Success607,627+16.46 RP
Sep 3, 2025 14:57Alex KentAlex KentCPPg++13.3.0Success5,348
Sep 3, 2025 14:54Alex KentAlex KentCPPg++13.3.0Success5,949
Sep 3, 2025 14:41Alex KentAlex KentCPPg++13.3.0Success5,380
Sep 3, 2025 14:33Alex KentAlex KentCPPg++13.3.0Error
Sep 3, 2025 12:55Alex KentAlex KentCPPg++13.3.0Success5,529
Sep 3, 2025 12:44Alex KentAlex KentCPPclang++18.1.3Success5,369
Sep 3, 2025 12:38Alex KentAlex KentCPPclang++18.1.3Success5,303
Sep 3, 2025 12:35Alex KentAlex KentCPPclang++18.1.3Success5,197
Sep 2, 2025 15:45Alex KentAlex KentCPPclang++18.1.3Success5,112+81.77 RP
Sep 2, 2025 15:44Alex KentAlex KentCPPg++13.3.0Success5,391
Sep 2, 2025 14:08Alex KentAlex KentCPPg++13.3.0Success5,514
Sep 2, 2025 14:03Alex KentAlex KentCPPg++13.3.0Success5,335+69.69 RP
Sep 2, 2025 13:29Alex KentAlex KentCPPg++13.3.0Success5,541+59.83 RP
Sep 2, 2025 12:56Alex KentAlex KentCPPg++13.3.0Success5,731+142.08 RP
Sep 2, 2025 12:29Alex KentAlex KentCPPg++13.3.0Success6,380
Sep 2, 2025 12:09Alex KentAlex KentCPPg++13.3.0Error
Sep 2, 2025 11:57Alex KentAlex KentCPPg++13.3.0Error
Sep 2, 2025 06:13Alex KentAlex KentCPPg++13.3.0Success6,239+15.52 RP
Sep 2, 2025 06:12Alex KentAlex KentCPPg++13.3.0Success6,300+5.52 RP
Sep 2, 2025 05:45Alex KentAlex KentCPPg++13.3.0Success6,668
Sep 2, 2025 05:32Yuriy LyfenkoYuriy LyfenkoCPPg++13.3.0Error
Sep 2, 2025 05:26Alex KentAlex KentCPPg++13.3.0Success6,322+221.23 RP
Sep 2, 2025 05:23Yuriy LyfenkoYuriy LyfenkoCPPg++13.3.0Success3,954
Sep 2, 2025 05:21Yuriy LyfenkoYuriy LyfenkoCPPg++13.3.0Success3,891
Sep 2, 2025 05:20Yuriy LyfenkoYuriy LyfenkoCPPg++13.3.0Success3,849
Sep 2, 2025 05:20Yuriy LyfenkoYuriy LyfenkoCPPg++13.3.0Error
Sep 2, 2025 05:19Yuriy LyfenkoYuriy LyfenkoCPPg++13.3.0Success3,789
Sep 2, 2025 05:16Yuriy LyfenkoYuriy LyfenkoCPPg++13.3.0Success3,749
Sep 2, 2025 05:14Yuriy LyfenkoYuriy LyfenkoCPPg++13.3.0Success3,894
Sep 2, 2025 05:13Yuriy LyfenkoYuriy LyfenkoCPPg++13.3.0Success3,891
Sep 2, 2025 05:12Yuriy LyfenkoYuriy LyfenkoCPPg++13.3.0Success3,936
Sep 2, 2025 05:06Yuriy LyfenkoYuriy LyfenkoCPPg++13.3.0Error
Sep 2, 2025 05:03Yuriy LyfenkoYuriy LyfenkoCPPg++13.3.0Error
Sep 2, 2025 04:59Yuriy LyfenkoYuriy LyfenkoCPPg++13.3.0Error
Sep 2, 2025 04:34Alex KentAlex KentCPPg++13.3.0Success7,350+32.52 RP
Sep 2, 2025 04:19Alex KentAlex KentCPPg++13.3.0Success7,530+646.87 RP
Sep 1, 2025 15:08Alex KentAlex KentCPPg++13.3.0Success14,681+4.43 RP
Sep 1, 2025 15:07Alex KentAlex KentCPPg++13.3.0Success14,777+9.17 RP
Sep 1, 2025 14:48Alex KentAlex KentCPPg++13.3.0Success14,980+222.20 RP
Sep 1, 2025 14:44Alex KentAlex KentCPPg++13.3.0Success22,590
Sep 1, 2025 14:07Alex KentAlex KentCPPg++13.3.0Success22,454+420.21 RP
Aug 31, 2025 13:52Alex KentAlex KentCPPg++13.3.0Success397,630+1.57 RP
Aug 31, 2025 13:47Alex KentAlex KentCPPg++13.3.0Success424,056+0.18 RP
Aug 31, 2025 13:20Alex KentAlex KentCPPg++13.3.0Success427,254+0.54 RP
Aug 31, 2025 13:03Alex KentAlex KentCPPg++13.3.0Success437,417+6.51 RP
Aug 31, 2025 05:28Alex KentAlex KentCPPg++13.3.0Error
Aug 31, 2025 05:22Alex KentAlex KentCPPg++13.3.0Success611,614+16.35 RP
Aug 18, 2025 07:07Andrey NikolaevAndrey NikolaevRUSTrust-1.89.0Success46,922
Aug 18, 2025 07:03Andrey NikolaevAndrey NikolaevRUSTrust-1.89.0Success41,768+239.42 RP
Aug 18, 2025 07:01Andrey NikolaevAndrey NikolaevRUSTrust-1.89.0Error
Aug 14, 2025 19:54Aniruddha DebAniruddha DebCPPclang++18.1.3Success3,601+4.62 RP
Aug 14, 2025 19:53Aniruddha DebAniruddha DebCPPclang++18.1.3Success3,624
Aug 14, 2025 19:52Aniruddha DebAniruddha DebCPPclang++18.1.3Error
Aug 14, 2025 19:48Aniruddha DebAniruddha DebCPPclang++18.1.3Success3,604+259.75 RP
Aug 14, 2025 19:47Aniruddha DebAniruddha DebCPPclang++18.1.3Error
Aug 14, 2025 19:45Aniruddha DebAniruddha DebCPPclang++18.1.3Success3,826+2.73 RP
Aug 14, 2025 19:39Aniruddha DebAniruddha DebCPPclang++18.1.3Error
Aug 14, 2025 19:38Aniruddha DebAniruddha DebCPPclang++18.1.3Success3,830+2.72 RP
Aug 14, 2025 18:11Aniruddha DebAniruddha DebCPPclang++18.1.3Error
Aug 14, 2025 18:08Aniruddha DebAniruddha DebCPPclang++18.1.3Success3,834+16.90 RP
Aug 14, 2025 18:05Aniruddha DebAniruddha DebCPPclang++18.1.3Success3,859+25.93 RP
Aug 14, 2025 18:03Aniruddha DebAniruddha DebCPPclang++18.1.3Error
Aug 14, 2025 18:02Aniruddha DebAniruddha DebCPPclang++18.1.3Success3,898+3.29 RP
Aug 14, 2025 17:59Aniruddha DebAniruddha DebCPPclang++18.1.3Success3,903+11.11 RP
Aug 14, 2025 17:32Aniruddha DebAniruddha DebCPPclang++18.1.3Error
Aug 13, 2025 22:56Aniruddha DebAniruddha DebCPPclang++18.1.3Success3,920+289.60 RP
Aug 13, 2025 22:54Aniruddha DebAniruddha DebCPPg++13.3.0Success4,422+23.28 RP
Aug 13, 2025 22:53Aniruddha DebAniruddha DebCPPg++13.3.0Success4,506
Aug 13, 2025 22:52Aniruddha DebAniruddha DebCPPg++13.3.0Success4,547
Aug 13, 2025 22:52Aniruddha DebAniruddha DebCPPg++13.3.0Success4,544
Aug 13, 2025 22:52Aniruddha DebAniruddha DebCPPg++13.3.0Success4,478
Aug 13, 2025 22:50Aniruddha DebAniruddha DebCPPg++13.3.0Success4,468+241.73 RP
Aug 13, 2025 22:46Aniruddha DebAniruddha DebCPPg++13.3.0Success437,338
Aug 13, 2025 18:45Leon ZhaoLeon ZhaoCPPg++13.3.0Success610,811+16.37 RP
Aug 10, 2025 22:03Aniruddha DebAniruddha DebCPPg++13.3.0Success12,637
Aug 10, 2025 21:25Aniruddha DebAniruddha DebCPPg++13.3.0Success5,009+35.24 RP
Aug 10, 2025 21:17Aniruddha DebAniruddha DebCPPg++13.3.0Error
Aug 10, 2025 21:13Aniruddha DebAniruddha DebCPPg++13.3.0Success5,099+31.78 RP
Aug 10, 2025 21:06Aniruddha DebAniruddha DebCPPg++13.3.0Success6,101
Aug 10, 2025 20:53Aniruddha DebAniruddha DebCPPg++13.3.0Success7,143
Aug 10, 2025 16:37Aniruddha DebAniruddha DebCPPg++13.3.0Success6,912
Aug 10, 2025 16:25Aniruddha DebAniruddha DebCPPg++13.3.0Success6,803
Aug 10, 2025 16:24Aniruddha DebAniruddha DebCPPg++13.3.0Error
Aug 10, 2025 16:22Aniruddha DebAniruddha DebCPPg++13.3.0Error
Aug 10, 2025 14:07Aniruddha DebAniruddha DebCPPg++13.3.0Error
Aug 10, 2025 14:06Aniruddha DebAniruddha DebCPPg++13.3.0Error
Aug 10, 2025 14:04Aniruddha DebAniruddha DebCPPg++13.3.0Success5,189