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
Mar 27, 2026 01:09olliecrowolliecrowCPPg++13.3.0Error
Mar 27, 2026 01:09olliecrowolliecrowCPPg++13.3.0Error
Mar 27, 2026 01:08olliecrowolliecrowCPPg++13.3.0Error
Mar 27, 2026 01:08olliecrowolliecrowCPPg++13.3.0Error
Mar 27, 2026 01:08olliecrowolliecrowCPPg++13.3.0Error
Mar 27, 2026 01:07olliecrowolliecrowCPPg++13.3.0Error
Mar 27, 2026 01:07olliecrowolliecrowCPPg++13.3.0Error
Mar 27, 2026 01:07olliecrowolliecrowCPPg++13.3.0Error
Mar 27, 2026 01:07olliecrowolliecrowCPPg++13.3.0Error
Mar 27, 2026 01:02olliecrowolliecrowCPPg++13.3.0Success3,149
Mar 27, 2026 01:00olliecrowolliecrowCPPg++13.3.0Error
Mar 27, 2026 00:59olliecrowolliecrowCPPg++13.3.0Error
Mar 27, 2026 00:59olliecrowolliecrowCPPg++13.3.0Error
Mar 27, 2026 00:59olliecrowolliecrowCPPg++13.3.0Error
Mar 27, 2026 00:59olliecrowolliecrowCPPg++13.3.0Error
Mar 27, 2026 00:58olliecrowolliecrowCPPg++13.3.0Error
Mar 27, 2026 00:58olliecrowolliecrowCPPg++13.3.0Error
Mar 27, 2026 00:58olliecrowolliecrowCPPg++13.3.0Error
Mar 27, 2026 00:58olliecrowolliecrowCPPg++13.3.0Error
Mar 27, 2026 00:57olliecrowolliecrowCPPg++13.3.0Error
Mar 27, 2026 00:56olliecrowolliecrowCPPg++13.3.0Success3,187
Mar 27, 2026 00:56olliecrowolliecrowCPPg++13.3.0Success3,186
Mar 27, 2026 00:56olliecrowolliecrowCPPg++13.3.0Success3,203
Mar 27, 2026 00:51olliecrowolliecrowCPPg++13.3.0Success3,157
Mar 27, 2026 00:49olliecrowolliecrowCPPg++13.3.0Error
Mar 27, 2026 00:49olliecrowolliecrowCPPg++13.3.0Error
Mar 27, 2026 00:49olliecrowolliecrowCPPg++13.3.0Error
Mar 27, 2026 00:48olliecrowolliecrowCPPg++13.3.0Error
Mar 27, 2026 00:48olliecrowolliecrowCPPg++13.3.0Error
Mar 27, 2026 00:39olliecrowolliecrowCPPg++13.3.0Success3,148
Mar 27, 2026 00:31olliecrowolliecrowCPPg++13.3.0Success3,151
Mar 27, 2026 00:27olliecrowolliecrowCPPg++13.3.0Success3,149
Mar 27, 2026 00:18olliecrowolliecrowCPPg++13.3.0Success3,152
Mar 27, 2026 00:13olliecrowolliecrowCPPg++13.3.0Success3,149
Mar 27, 2026 00:12olliecrowolliecrowCPPg++13.3.0Success3,169
Mar 27, 2026 00:06olliecrowolliecrowCPPg++13.3.0Success3,155
Mar 27, 2026 00:04olliecrowolliecrowCPPg++13.3.0Success3,151
Mar 26, 2026 23:59olliecrowolliecrowCPPg++13.3.0Success3,151
Mar 26, 2026 23:52olliecrowolliecrowCPPg++13.3.0Success3,145+1.01 RP
Mar 26, 2026 23:48olliecrowolliecrowCPPg++13.3.0Success3,168
Mar 26, 2026 23:44olliecrowolliecrowCPPg++13.3.0Error
Mar 26, 2026 23:43olliecrowolliecrowCPPg++13.3.0Success3,146+2.02 RP
Mar 26, 2026 23:41olliecrowolliecrowCPPg++13.3.0Success3,154
Mar 26, 2026 23:14olliecrowolliecrowCPPg++13.3.0Success3,148+7.05 RP
Mar 26, 2026 23:01olliecrowolliecrowCPPg++13.3.0Success3,155+14.00 RP
Mar 26, 2026 13:08olliecrowolliecrowRUSTrust-1.93.0Success3,452
Mar 26, 2026 13:04olliecrowolliecrowCPPg++13.3.0Error
Mar 26, 2026 13:02olliecrowolliecrowRUSTrust-1.93.0Success3,389
Mar 26, 2026 13:02olliecrowolliecrowRUSTrust-1.93.0Success3,456
Mar 26, 2026 13:01olliecrowolliecrowCPPg++13.3.0Error
Mar 26, 2026 12:59olliecrowolliecrowCPPg++13.3.0Error
Mar 26, 2026 12:58olliecrowolliecrowCPPg++13.3.0Error
Mar 26, 2026 12:56olliecrowolliecrowCPPg++13.3.0Error
Mar 26, 2026 12:55olliecrowolliecrowCPPg++13.3.0Error
Mar 26, 2026 12:54olliecrowolliecrowRUSTrust-1.93.0Success3,439
Mar 26, 2026 12:54olliecrowolliecrowCPPg++13.3.0Error
Mar 26, 2026 12:53olliecrowolliecrowCPPg++13.3.0Error
Mar 26, 2026 12:52olliecrowolliecrowCPPg++13.3.0Error
Mar 26, 2026 12:50olliecrowolliecrowCPPg++13.3.0Error
Mar 26, 2026 12:49olliecrowolliecrowRUSTrust-1.93.0Success3,315+29.73 RP
Mar 26, 2026 12:45olliecrowolliecrowCPPg++13.3.0Error
Mar 26, 2026 12:41olliecrowolliecrowCPPg++13.3.0Error
Mar 26, 2026 10:57Dominique GarmierDominique GarmierRUSTrust-1.94.0Success45,080
Mar 25, 2026 22:34Dominique GarmierDominique GarmierZIG0.13.0Success30,305
Mar 25, 2026 21:53Dominique GarmierDominique GarmierRUSTrust-1.94.0Success95,267
Mar 25, 2026 20:56Dominique GarmierDominique GarmierZIG0.13.0Success261,918
Mar 25, 2026 20:27Dominique GarmierDominique GarmierZIG0.13.0Success20,049
Mar 25, 2026 20:01Dominique GarmierDominique GarmierZIG0.13.0Success20,025+414.12 RP
Mar 25, 2026 14:04olliecrowolliecrowCPPg++13.3.0Error
Mar 25, 2026 04:54Dominique GarmierDominique GarmierGOgo1.26.1Success34,901
Mar 24, 2026 07:17Dominique GarmierDominique GarmierCPPclang++18.1.3Error
Mar 24, 2026 03:10Dominique GarmierDominique GarmierCSHARP9.0.14Success66,075
Mar 23, 2026 23:57olliecrowolliecrowRUSTrust-1.94.0Error
Mar 23, 2026 06:22Dominique GarmierDominique GarmierCPPclang++18.1.3Error
Mar 23, 2026 06:22Dominique GarmierDominique GarmierCPPg++13.3.0Error
Mar 23, 2026 05:38Dominique GarmierDominique GarmierCPPg++13.3.0Error
Mar 23, 2026 05:36Dominique GarmierDominique GarmierCPPg++13.3.0Error
Mar 23, 2026 05:34Dominique GarmierDominique GarmierCPPclang++18.1.3Error
Mar 23, 2026 05:34Dominique GarmierDominique GarmierCPPg++13.3.0Error
Mar 23, 2026 02:47olliecrowolliecrowCPPg++13.3.0Error
Mar 22, 2026 23:33Josu San MartinJosu San MartinRUSTrust-1.92.0Success3,511
Mar 22, 2026 22:11Dominique GarmierDominique GarmierCPPg++13.3.0Success6,406
Mar 22, 2026 17:31olliecrowolliecrowRUSTrust-1.93.0Error
Mar 22, 2026 17:29olliecrowolliecrowGOgo1.26.1Error
Mar 22, 2026 17:29olliecrowolliecrowRUSTrust-1.94.0Error
Mar 22, 2026 17:29olliecrowolliecrowZIG0.14.0Error
Mar 22, 2026 17:28olliecrowolliecrowCSHARP9.0.14Error
Mar 22, 2026 17:24olliecrowolliecrowCPPg++13.3.0Success3,173
Mar 22, 2026 16:00Dominique GarmierDominique GarmierGOgo1.26.1Success45,286
Mar 22, 2026 15:29Dominique GarmierDominique GarmierRUSTrust-1.94.0Success45,262
Mar 22, 2026 15:19Dominique GarmierDominique GarmierCPPg++13.3.0Success6,396+1.22 RP
Mar 22, 2026 15:15Dominique GarmierDominique GarmierCPPg++13.3.0Success7,131
Mar 22, 2026 15:14Dominique GarmierDominique GarmierCPPg++13.3.0Success6,401+0.49 RP
Mar 22, 2026 15:11Dominique GarmierDominique GarmierCPPg++13.3.0Success7,733
Mar 22, 2026 15:08Dominique GarmierDominique GarmierCPPg++13.3.0Success6,659
Mar 22, 2026 15:08Dominique GarmierDominique GarmierCPPg++13.3.0Success6,507
Mar 22, 2026 15:07Dominique GarmierDominique GarmierCPPg++13.3.0Success12,493
Mar 22, 2026 15:07Dominique GarmierDominique GarmierCPPg++13.3.0Success7,808
Mar 22, 2026 15:06Dominique GarmierDominique GarmierCPPclang++18.1.3Success30,169
Mar 22, 2026 11:39Dominique GarmierDominique GarmierRUSTrust-1.94.0Success6,678