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
Dec 4, 2025 13:30izotoffizotoffGOgo1.25.5Success477,165+5.89 RP
Dec 4, 2025 13:28izotoffizotoffGOgo1.11.1Success663,509+15.07 RP
Oct 29, 2025 23:23Abdulazizov M.Abdulazizov M.CPPg++13.3.0Success611,861+16.34 RP
Oct 27, 2025 10:44Weitao WanWeitao WanCPPg++13.3.0Success586,867+17.04 RP
Oct 24, 2025 17:38Daniel MastalerzDaniel MastalerzCPPg++13.3.0Success30,677+325.98 RP
Oct 24, 2025 17:36Daniel MastalerzDaniel MastalerzCPPg++13.3.0Error
Oct 15, 2025 03:03Marco BarboneMarco BarboneCPPclang++18.1.3Success20,079
Oct 15, 2025 02:55Marco BarboneMarco BarboneCPPclang++18.1.3Success20,217
Oct 15, 2025 02:53Marco BarboneMarco BarboneCPPclang++18.1.3Success20,264
Oct 15, 2025 02:53Marco BarboneMarco BarboneCPPclang++18.1.3Success20,267
Oct 15, 2025 02:22Marco BarboneMarco BarboneCPPclang++18.1.3Success19,019+0.58 RP
Oct 15, 2025 02:21Marco BarboneMarco BarboneCPPclang++18.1.3Success20,214
Oct 15, 2025 02:16Marco BarboneMarco BarboneCPPclang++18.1.3Success22,138
Oct 15, 2025 02:01Marco BarboneMarco BarboneCPPclang++18.1.3Success19,675
Oct 15, 2025 02:00Marco BarboneMarco BarboneCPPclang++18.1.3Success19,040+10.94 RP
Oct 15, 2025 01:58Marco BarboneMarco BarboneCPPclang++18.1.3Success19,445+0.11 RP
Oct 13, 2025 15:37Marco BarboneMarco BarboneCPPclang++18.1.3Success20,213
Oct 12, 2025 23:09Marco BarboneMarco BarboneCPPclang++18.1.3Success20,937
Oct 12, 2025 23:02Marco BarboneMarco BarboneCPPclang++18.1.3Success19,451
Oct 12, 2025 23:01Marco BarboneMarco BarboneCPPclang++18.1.3Success19,452
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