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
Aug 16, 2026 12:55marko1597marko1597CPPclang++20.1.2Error
Aug 16, 2026 12:42marko1597marko1597CPPclang++20.1.2Success73,802
Aug 16, 2026 12:28marko1597marko1597CPPclang++20.1.2Error
Aug 16, 2026 12:07marko1597marko1597CPPclang++20.1.2Error+57.47 RP
Aug 16, 2026 11:53marko1597marko1597CPPclang++20.1.2Success169,978
Aug 16, 2026 11:31marko1597marko1597CPPclang++20.1.2Error
Aug 16, 2026 11:10marko1597marko1597CPPclang++20.1.2Error+52.57 RP
Aug 16, 2026 10:53marko1597marko1597CPPclang++20.1.2Error
Aug 16, 2026 10:40marko1597marko1597CPPclang++20.1.2Success3,515
Aug 16, 2026 09:59marko1597marko1597CPPclang++20.1.2Error+37.82 RP
Aug 16, 2026 09:38marko1597marko1597CPPclang++20.1.2Error+6.52 RP
Aug 16, 2026 09:04marko1597marko1597CPPclang++20.1.2Success3,656
Aug 16, 2026 08:29marko1597marko1597CPPclang++20.1.2Error
Aug 16, 2026 07:55marko1597marko1597CPPclang++17.0.6Error
Aug 16, 2026 07:55marko1597marko1597CPPclang++19.1.1Error
Aug 16, 2026 07:31marko1597marko1597CPPclang++20.1.2Error
Aug 16, 2026 07:09marko1597marko1597CPPclang++20.1.2Error+12.04 RP
Aug 16, 2026 07:09marko1597marko1597CPPg++13.3.0Success3,665
Aug 16, 2026 07:09marko1597marko1597CPPg++14.2.0Success3,640
Aug 16, 2026 00:03marko1597marko1597CPPclang++18.1.3Error+27.89 RP
Aug 15, 2026 23:40marko1597marko1597CPPclang++18.1.3Success165,052
Aug 15, 2026 23:08marko1597marko1597CPPclang++18.1.3Error+93.36 RP
Aug 15, 2026 22:37marko1597marko1597CPPclang++18.1.3Success148,379
Aug 15, 2026 22:09marko1597marko1597CPPclang++18.1.3Error+56.08 RP
Aug 15, 2026 21:57marko1597marko1597CPPclang++18.1.3Success3,665
Aug 15, 2026 19:03Tomislav TunkovicTomislav TunkovicCPPclang++14.0.6Error+51.30 RP
Aug 15, 2026 18:57Tomislav TunkovicTomislav TunkovicCPPclang++14.0.6Error+132.85 RP
Aug 15, 2026 18:53Tomislav TunkovicTomislav TunkovicCPPclang++14.0.6Error+22.74 RP
Aug 15, 2026 18:47Tomislav TunkovicTomislav TunkovicCPPclang++14.0.6Error+69.45 RP
Aug 15, 2026 18:37Tomislav TunkovicTomislav TunkovicCPPclang++14.0.6Error+144.83 RP
Aug 15, 2026 18:35Tomislav TunkovicTomislav TunkovicCPPclang++14.0.6Error
Aug 15, 2026 18:06Tomislav TunkovicTomislav TunkovicCPPclang++15.0.7Error
Aug 15, 2026 14:05Tomislav TunkovicTomislav TunkovicCPPclang++14.0.6Error
Aug 15, 2026 13:54Tomislav TunkovicTomislav TunkovicCPPclang++18.1.3Error
Aug 15, 2026 13:40Tomislav TunkovicTomislav TunkovicCPPclang++14.0.6Error+238.72 RP
Aug 15, 2026 13:21Tomislav TunkovicTomislav TunkovicCPPclang++14.0.6Error
Aug 15, 2026 13:02Tomislav TunkovicTomislav TunkovicCPPclang++14.0.6Error+549.20 RP
Aug 15, 2026 09:34Tomislav TunkovicTomislav TunkovicCPPclang++14.0.6Error
Aug 15, 2026 09:24Tomislav TunkovicTomislav TunkovicCPPclang++14.0.6Error
Aug 15, 2026 09:16Tomislav TunkovicTomislav TunkovicCPPclang++14.0.6Error
Aug 15, 2026 08:42Tomislav TunkovicTomislav TunkovicCPPclang++18.1.3Error
Aug 15, 2026 08:38Tomislav TunkovicTomislav TunkovicCPPclang++14.0.6Error
Aug 15, 2026 08:34Tomislav TunkovicTomislav TunkovicCPPclang++14.0.6Error+147.36 RP
Aug 15, 2026 08:14Tomislav TunkovicTomislav TunkovicCPPclang++14.0.6Error+199.79 RP
Aug 15, 2026 08:06Tomislav TunkovicTomislav TunkovicCPPclang++14.0.6Error
Aug 15, 2026 07:56Tomislav TunkovicTomislav TunkovicCPPclang++14.0.6Error+697.45 RP
Aug 15, 2026 07:49Tomislav TunkovicTomislav TunkovicCPPclang++14.0.6Error
Aug 14, 2026 19:23marko1597marko1597CPPclang++18.1.3Error+9.82 RP
Aug 14, 2026 18:52marko1597marko1597CPPclang++18.1.3Success190,736
Aug 14, 2026 18:46marko1597marko1597CPPg++14.2.0Error
Aug 14, 2026 18:46marko1597marko1597CPPclang++18.1.3Error+273.53 RP
Aug 14, 2026 18:29marko1597marko1597CPPg++14.2.0Success4,481
Aug 14, 2026 18:28marko1597marko1597CPPclang++18.1.3Success4,496
Aug 14, 2026 18:20marko1597marko1597CPPclang++18.1.3Success51,159
Aug 14, 2026 17:54marko1597marko1597CPPg++14.2.0Success3,992
Aug 14, 2026 17:53marko1597marko1597CPPclang++18.1.3Success3,881
Aug 14, 2026 17:47marko1597marko1597CPPclang++18.1.3Error+65.62 RP
Aug 14, 2026 17:47marko1597marko1597CPPg++14.2.0Error+2.53 RP
Aug 14, 2026 17:40marko1597marko1597CPPg++13.3.0Success3,994
Aug 14, 2026 17:40marko1597marko1597CPPg++14.2.0Error+111.14 RP
Aug 14, 2026 17:34marko1597marko1597CPPclang++18.1.3Success4,744
Aug 14, 2026 17:34marko1597marko1597CPPg++14.2.0Success4,753
Aug 14, 2026 17:13marko1597marko1597CPPg++14.2.0Success4,170
Aug 14, 2026 17:03marko1597marko1597CPPclang++18.1.3Success4,265
Aug 14, 2026 17:03marko1597marko1597CPPg++14.2.0Error+181.46 RP
Aug 14, 2026 16:49Tomislav TunkovicTomislav TunkovicCPPclang++14.0.6Error+463.23 RP
Aug 14, 2026 16:09Tomislav TunkovicTomislav TunkovicCPPg++13.3.0Error+90.72 RP
Aug 14, 2026 14:55marko1597marko1597CPPg++14.2.0Error
Aug 14, 2026 14:44Tomislav TunkovicTomislav TunkovicCPPg++13.3.0Error+177.16 RP
Aug 14, 2026 14:36marko1597marko1597CPPg++13.3.0Success4,531
Aug 14, 2026 14:36marko1597marko1597CPPg++14.2.0Error+4.92 RP
Aug 14, 2026 14:32Tomislav TunkovicTomislav TunkovicCPPclang++18.1.3Error+287.44 RP
Aug 14, 2026 14:27Tomislav TunkovicTomislav TunkovicCPPg++13.3.0Error+71.41 RP
Aug 14, 2026 14:23marko1597marko1597CPPclang++18.1.3Success4,764
Aug 14, 2026 14:23marko1597marko1597CPPg++14.2.0Success4,751
Aug 14, 2026 14:22Tomislav TunkovicTomislav TunkovicCPPclang++18.1.3Error+507.11 RP
Aug 14, 2026 14:15Tomislav TunkovicTomislav TunkovicCPPclang++18.1.3Error+413.23 RP
Aug 14, 2026 14:11Tomislav TunkovicTomislav TunkovicCPPclang++18.1.3Error+316.39 RP
Aug 14, 2026 14:04marko1597marko1597CPPg++13.3.0Success5,213
Aug 14, 2026 14:04marko1597marko1597CPPg++14.2.0Success5,090
Aug 14, 2026 14:02Tomislav TunkovicTomislav TunkovicCPPclang++18.1.3Error+641.56 RP
Aug 14, 2026 13:57marko1597marko1597CPPg++13.3.0Success4,556
Aug 14, 2026 13:57marko1597marko1597CPPg++14.2.0Success4,526
Aug 14, 2026 13:44marko1597marko1597CPPg++13.3.0Success4,545
Aug 14, 2026 13:44marko1597marko1597CPPclang++18.1.3Success4,690
Aug 14, 2026 13:44marko1597marko1597CPPg++13.3.0Success4,691
Aug 14, 2026 13:44marko1597marko1597CPPg++14.2.0Error+14.64 RP
Aug 14, 2026 13:40marko1597marko1597CPPclang++18.1.3Success4,688
Aug 14, 2026 13:40marko1597marko1597CPPg++13.3.0Success4,547
Aug 14, 2026 13:36marko1597marko1597CPPclang++18.1.3Success4,569
Aug 14, 2026 13:36marko1597marko1597CPPg++13.3.0Success4,598
Aug 14, 2026 13:31marko1597marko1597CPPclang++18.1.3Success6,491
Aug 14, 2026 13:31marko1597marko1597CPPg++13.3.0Success6,557
Aug 14, 2026 13:18marko1597marko1597CPPg++13.3.0Error+80.33 RP
Aug 14, 2026 13:11marko1597marko1597CPPg++13.3.0Success50,600
Aug 14, 2026 12:53marko1597marko1597CPPg++13.3.0Success5,311
Aug 14, 2026 12:46marko1597marko1597CPPclang++18.1.3Success5,068
Aug 14, 2026 12:46marko1597marko1597CPPg++13.3.0Success5,464
Aug 14, 2026 12:36marko1597marko1597CPPclang++18.1.3Success5,935
Aug 14, 2026 12:36marko1597marko1597CPPg++13.3.0Success6,262