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 22:58Marco BarboneMarco BarboneCPPclang++18.1.3Success19,449+0.92 RP
Oct 12, 2025 22:50Marco BarboneMarco BarboneCPPclang++18.1.3Success19,484+52.90 RP
Oct 12, 2025 22:47Marco BarboneMarco BarboneCPPclang++18.1.3Error
Oct 12, 2025 22:45Marco BarboneMarco BarboneCPPclang++18.1.3Success22,548
Oct 12, 2025 22:39Marco BarboneMarco BarboneCPPclang++18.1.3Success22,578
Oct 12, 2025 22:38Marco BarboneMarco BarboneCPPclang++18.1.3Success22,569
Oct 12, 2025 22:35Marco BarboneMarco BarboneCPPclang++18.1.3Success22,559
Oct 12, 2025 22:33Marco BarboneMarco BarboneCPPclang++18.1.3Success22,590
Oct 12, 2025 22:32Marco BarboneMarco BarboneCPPclang++18.1.3Success22,681
Oct 12, 2025 22:30Marco BarboneMarco BarboneCPPg++13.3.0Success29,068
Oct 12, 2025 22:29Marco BarboneMarco BarboneCPPclang++18.1.3Success21,723+10.40 RP
Oct 12, 2025 22:27Marco BarboneMarco BarboneCPPclang++18.1.3Success22,312
Oct 12, 2025 22:25Marco BarboneMarco BarboneCPPclang++18.1.3Success22,225+52.39 RP
Oct 12, 2025 21:54Marco BarboneMarco BarboneCPPclang++18.1.3Success25,154+102.77 RP
Oct 12, 2025 21:52Yuriy LyfenkoYuriy LyfenkoCPPg++13.3.0Success3,834
Oct 12, 2025 21:52Yuriy LyfenkoYuriy LyfenkoCPPg++13.3.0Success3,785
Oct 12, 2025 21:51Marco BarboneMarco BarboneCPPclang++18.1.3Success34,831
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