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
Oct 12, 2025 21:49Yuriy LyfenkoYuriy LyfenkoCPPg++13.3.0Success3,826
Oct 12, 2025 21:49Yuriy LyfenkoYuriy LyfenkoCPPg++13.3.0Success3,894
Oct 12, 2025 21:43Marco BarboneMarco BarboneCPPg++13.3.0Success46,257
Oct 12, 2025 21:43Marco BarboneMarco BarboneCPPclang++18.1.3Success33,924+275.27 RP
Oct 12, 2025 21:37Marco BarboneMarco BarboneCPPclang++18.1.3Success513,571
Oct 12, 2025 21:19Marco BarboneMarco BarboneCPPclang++18.1.3Success512,731+1.82 RP
Oct 12, 2025 21:19Marco BarboneMarco BarboneCPPg++13.3.0Success565,370+17.69 RP
Oct 5, 2025 01:43Martin StensgårdMartin StensgårdCPPg++13.3.0Error
Oct 4, 2025 22:58Martin StensgårdMartin StensgårdCPPg++13.3.0Error
Oct 4, 2025 22:55Martin StensgårdMartin StensgårdCPPg++13.3.0Success612,954+16.31 RP
Sep 28, 2025 18:35Andrey TsvetkovAndrey TsvetkovGOgo1.25.1Success477,365
Sep 27, 2025 08:49Jin KimJin KimCPPg++13.3.0Error
Sep 27, 2025 08:46Jin KimJin KimCPPg++13.3.0Error
Sep 27, 2025 08:34Wookyung JeongWookyung JeongCPPg++13.3.0Success18,025+229.99 RP
Sep 27, 2025 08:22Jin KimJin KimCPPg++13.3.0Error
Sep 27, 2025 08:03Jin KimJin KimCPPg++13.3.0Error
Sep 27, 2025 07:59Jin KimJin KimCPPg++13.3.0Error
Sep 27, 2025 07:51Jin KimJin KimCPPg++13.3.0Error
Sep 27, 2025 07:49Wookyung JeongWookyung JeongCPPg++13.3.0Success30,907
Sep 27, 2025 07:44Wookyung JeongWookyung JeongCPPg++13.3.0Success30,789+5.16 RP
Sep 27, 2025 07:34Jin KimJin KimCPPg++13.3.0Error
Sep 27, 2025 07:12Wookyung JeongWookyung JeongCPPg++13.3.0Success31,462
Sep 27, 2025 07:11Wookyung JeongWookyung JeongCPPg++13.3.0Success31,346
Sep 27, 2025 07:09Wookyung JeongWookyung JeongCPPg++13.3.0Success32,969
Sep 27, 2025 07:04Wookyung JeongWookyung JeongCPPg++13.3.0Success31,474
Sep 27, 2025 06:53Wookyung JeongWookyung JeongCPPg++13.3.0Success31,642
Sep 27, 2025 06:45Wookyung JeongWookyung JeongCPPg++13.3.0Success31,589
Sep 27, 2025 06:41Wookyung JeongWookyung JeongCPPg++13.3.0Success32,268
Sep 27, 2025 06:35Wookyung JeongWookyung JeongCPPg++13.3.0Success32,282
Sep 26, 2025 18:15Wookyung JeongWookyung JeongCPPg++13.3.0Success31,286+0.26 RP
Sep 26, 2025 18:14Wookyung JeongWookyung JeongCPPg++13.3.0Success31,311+44.58 RP
Sep 26, 2025 18:13Wookyung JeongWookyung JeongCPPg++13.3.0Success36,390+3.08 RP
Sep 26, 2025 18:11Wookyung JeongWookyung JeongCPPg++13.3.0Success36,803+27.10 RP
Sep 26, 2025 17:56Wookyung JeongWookyung JeongCPPg++13.3.0Success40,926
Sep 26, 2025 17:53Wookyung JeongWookyung JeongCPPg++13.3.0Success40,881+57.80 RP
Sep 26, 2025 17:44Wookyung JeongWookyung JeongCPPg++13.3.0Success62,882
Sep 26, 2025 17:08Wookyung JeongWookyung JeongCPPg++13.3.0Success53,952
Sep 26, 2025 17:06Wookyung JeongWookyung JeongCPPg++13.3.0Success53,984
Sep 26, 2025 16:58Wookyung JeongWookyung JeongCPPg++13.3.0Success55,174
Sep 26, 2025 16:55Wookyung JeongWookyung JeongCPPg++13.3.0Success54,571
Sep 26, 2025 16:46Wookyung JeongWookyung JeongCPPg++13.3.0Success54,574
Sep 26, 2025 16:43Wookyung JeongWookyung JeongCPPg++13.3.0Success56,693
Sep 26, 2025 16:26Wookyung JeongWookyung JeongCPPg++13.3.0Success54,432
Sep 26, 2025 16:24Wookyung JeongWookyung JeongCPPg++13.3.0Success53,530+3.53 RP
Sep 26, 2025 16:20Wookyung JeongWookyung JeongCPPg++13.3.0Success54,562+26.47 RP
Sep 26, 2025 16:07Wookyung JeongWookyung JeongCPPg++13.3.0Success63,774+24.66 RP
Sep 26, 2025 15:47Wookyung JeongWookyung JeongCPPg++13.3.0Success75,674+46.20 RP
Sep 26, 2025 15:38Wookyung JeongWookyung JeongCPPg++13.3.0Error
Sep 26, 2025 15:36Wookyung JeongWookyung JeongCPPg++13.3.0Error
Sep 26, 2025 15:34Wookyung JeongWookyung JeongCPPg++13.3.0Error
Sep 26, 2025 15:24Wookyung JeongWookyung JeongCPPg++13.3.0Error
Sep 26, 2025 15:23Wookyung JeongWookyung JeongCPPg++13.3.0Error
Sep 26, 2025 15:20Wookyung JeongWookyung JeongCPPg++13.3.0Success116,348+0.06 RP
Sep 26, 2025 15:20Wookyung JeongWookyung JeongCPPg++13.3.0Success116,430+85.89 RP
Sep 26, 2025 15:11Wookyung JeongWookyung JeongCPPg++13.3.0Error
Sep 26, 2025 15:10Wookyung JeongWookyung JeongCPPg++13.3.0Error
Sep 26, 2025 15:10Wookyung JeongWookyung JeongCPPg++13.3.0Error
Sep 26, 2025 15:09Wookyung JeongWookyung JeongCPPg++13.3.0Error
Sep 26, 2025 15:09Wookyung JeongWookyung JeongCPPg++13.3.0Error
Sep 26, 2025 14:56Wookyung JeongWookyung JeongCPPg++13.3.0Error
Sep 26, 2025 14:53Wookyung JeongWookyung JeongCPPg++13.3.0Error
Sep 26, 2025 14:53Wookyung JeongWookyung JeongCPPg++13.3.0Error
Sep 26, 2025 14:29Wookyung JeongWookyung JeongCPPg++13.3.0Error
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