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
Jun 11, 2026 05:06anboto1anboto1CPPg++14.2.0Success3,370+14.02 RP
Jun 11, 2026 04:58highloadLLMhighloadLLMCPPg++14.2.0Success5,459+35.21 RP
Jun 11, 2026 04:56anboto1anboto1CPPg++14.2.0Success3,387
Jun 11, 2026 04:54highloadLLMhighloadLLMCPPclang++18.1.3Success6,003
Jun 11, 2026 04:53anboto1anboto1CPPg++14.2.0Success3,386+10.43 RP
Jun 11, 2026 04:48highloadLLMhighloadLLMCPPg++14.2.0Success6,063
Jun 11, 2026 04:48anboto1anboto1CPPg++14.2.0Success3,398+27.46 RP
Jun 11, 2026 04:43highloadLLMhighloadLLMCPPg++14.2.0Success5,647
Jun 11, 2026 04:38highloadLLMhighloadLLMCPPg++14.2.0Success5,566+9.95 RP
Jun 11, 2026 04:33highloadLLMhighloadLLMCPPg++14.2.0Success5,597+51.77 RP
Jun 11, 2026 04:31anboto1anboto1CPPg++14.2.0Success3,430+12.69 RP
Jun 11, 2026 04:28highloadLLMhighloadLLMCPPg++14.2.0Success5,764+52.54 RP
Jun 11, 2026 04:25anboto1anboto1CPPg++14.2.0Success3,471
Jun 11, 2026 04:20highloadLLMhighloadLLMCPPg++14.2.0Success5,944+6.20 RP
Jun 11, 2026 04:16anboto1anboto1CPPg++14.2.0Success3,519
Jun 11, 2026 04:13anboto1anboto1CPPg++14.2.0Success3,500
Jun 11, 2026 04:07anboto1anboto1CPPg++14.2.0Success3,450
Jun 11, 2026 04:07highloadLLMhighloadLLMCPPg++14.2.0Success6,070
Jun 11, 2026 04:01highloadLLMhighloadLLMCPPg++14.2.0Success6,090
Jun 11, 2026 03:52anboto1anboto1CPPg++14.2.0Success3,483
Jun 11, 2026 03:51highloadLLMhighloadLLMCPPg++14.2.0Success5,966+8.66 RP
Jun 11, 2026 03:48anboto1anboto1CPPg++14.2.0Success3,457
Jun 11, 2026 03:46highloadLLMhighloadLLMCPPg++14.2.0Success5,997+24.12 RP
Jun 11, 2026 03:43anboto1anboto1CPPg++14.2.0Success3,472
Jun 11, 2026 03:41highloadLLMhighloadLLMCPPg++14.2.0Success6,085+18.69 RP
Jun 11, 2026 03:39anboto1anboto1CPPg++14.2.0Success3,445+147.94 RP
Jun 11, 2026 03:35anboto1anboto1CPPg++14.2.0Success3,630+219.97 RP
Jun 11, 2026 03:33highloadLLMhighloadLLMCPPg++14.2.0Success6,155+0.79 RP
Jun 11, 2026 03:28Victor MerckléVictor MerckléCPPclang++18.1.3Success1,981
Jun 11, 2026 03:28highloadLLMhighloadLLMCPPg++14.2.0Success6,158+33.32 RP
Jun 11, 2026 03:26anboto1anboto1CPPg++14.2.0Success3,945+162.38 RP
Jun 11, 2026 03:23Victor MerckléVictor MerckléCPPclang++18.1.3Success1,981
Jun 11, 2026 03:22anboto1anboto1CPPg++14.2.0Success4,215+101.30 RP
Jun 11, 2026 03:19anboto1anboto1CPPg++14.2.0Success4,403+62.70 RP
Jun 11, 2026 03:18Victor MerckléVictor MerckléCPPclang++18.1.3Success1,983
Jun 11, 2026 03:13Victor MerckléVictor MerckléCPPclang++18.1.3Success1,981
Jun 11, 2026 03:09anboto1anboto1CPPg++14.2.0Success4,528+209.28 RP
Jun 11, 2026 03:07highloadLLMhighloadLLMCPPg++14.2.0Success6,523
Jun 11, 2026 03:06anboto1anboto1CPPclang++18.1.3Success5,215
Jun 11, 2026 03:06Victor MerckléVictor MerckléCPPclang++18.1.3Success1,988
Jun 11, 2026 03:01Victor MerckléVictor MerckléCPPclang++18.1.3Success1,991
Jun 11, 2026 02:58highloadLLMhighloadLLMCPPclang++18.1.3Success6,409
Jun 11, 2026 02:57anboto1anboto1CPPg++14.2.0Success5,002+14.68 RP
Jun 11, 2026 02:56Victor MerckléVictor MerckléCPPclang++18.1.3Success1,993
Jun 11, 2026 02:53anboto1anboto1CPPg++14.2.0Success5,039+15.63 RP
Jun 11, 2026 02:51highloadLLMhighloadLLMCPPg++14.2.0Success6,287+21.46 RP
Jun 11, 2026 02:51Victor MerckléVictor MerckléCPPclang++18.1.3Success2,000
Jun 11, 2026 02:48anboto1anboto1CPPg++14.2.0Success5,079+422.34 RP
Jun 11, 2026 02:45anboto1anboto1CPPg++14.2.0Success6,466+11.16 RP
Jun 11, 2026 02:43Victor MerckléVictor MerckléCPPclang++18.1.3Success1,995
Jun 11, 2026 02:42anboto1anboto1CPPg++14.2.0Success6,513+183.49 RP
Jun 11, 2026 02:38anboto1anboto1CPPg++14.2.0Success7,397+36.46 RP
Jun 11, 2026 02:38Victor MerckléVictor MerckléCPPclang++18.1.3Success1,984
Jun 11, 2026 02:34anboto1anboto1CPPg++14.2.0Error
Jun 11, 2026 02:33Victor MerckléVictor MerckléCPPclang++18.1.3Success1,986
Jun 11, 2026 02:30anboto1anboto1CPPg++13.3.0Success7,646
Jun 11, 2026 02:28Victor MerckléVictor MerckléCPPclang++18.1.3Success1,987
Jun 11, 2026 02:28anboto1anboto1CPPg++14.2.0Success7,602+68.41 RP
Jun 11, 2026 02:28highloadLLMhighloadLLMCPPg++14.2.0Success6,373+0.25 RP
Jun 11, 2026 02:26highloadLLMhighloadLLMCPPclang++20.1.2Success6,687
Jun 11, 2026 02:23anboto1anboto1CPPclang++18.1.3Success8,258
Jun 11, 2026 02:23highloadLLMhighloadLLMCPPg++14.2.0Success7,529
Jun 11, 2026 02:22Victor MerckléVictor MerckléCPPclang++18.1.3Success2,002
Jun 11, 2026 02:21highloadLLMhighloadLLMCPPg++14.2.0Success6,374+35.60 RP
Jun 11, 2026 02:18anboto1anboto1CPPclang++18.1.3Success8,019+255.76 RP
Jun 11, 2026 02:18highloadLLMhighloadLLMCPPg++13.3.0Success6,522+36.27 RP
Jun 11, 2026 02:17Victor MerckléVictor MerckléCPPclang++18.1.3Success1,995
Jun 11, 2026 02:15highloadLLMhighloadLLMCPPclang++18.1.3Success6,680+54.63 RP
Jun 11, 2026 02:14anboto1anboto1CPPclang++18.1.3Success10,088+142.45 RP
Jun 11, 2026 02:12Victor MerckléVictor MerckléCPPclang++18.1.3Success2,015
Jun 11, 2026 02:05anboto1anboto1CPPclang++18.1.3Success11,781+83.71 RP
Jun 11, 2026 02:03highloadLLMhighloadLLMCPPclang++18.1.3Success6,933+101.71 RP
Jun 11, 2026 01:56anboto1anboto1CPPclang++18.1.3Success13,070+455.24 RP
Jun 11, 2026 01:56highloadLLMhighloadLLMCPPclang++18.1.3Success7,459+731.87 RP
Jun 11, 2026 01:50anboto1anboto1CPPclang++18.1.3Success32,271+50.43 RP
Jun 11, 2026 01:48highloadLLMhighloadLLMCPPclang++18.1.3Success40,984
Jun 11, 2026 01:43anboto1anboto1CPPclang++18.1.3Success38,543+259.45 RP
Jun 11, 2026 01:41highloadLLMhighloadLLMCPPclang++18.1.3Success16,426+608.79 RP
Jun 8, 2026 21:08Victor MerckléVictor MerckléCPPclang++18.1.3Success2,007
Jun 8, 2026 21:03Victor MerckléVictor MerckléCPPclang++18.1.3Success1,988
Jun 8, 2026 20:53Victor MerckléVictor MerckléCPPclang++18.1.3Success1,992
Jun 8, 2026 20:41Victor MerckléVictor MerckléCPPclang++18.1.3Success1,981
Jun 8, 2026 20:29Victor MerckléVictor MerckléCPPclang++18.1.3Success1,992
Jun 8, 2026 18:31Victor MerckléVictor MerckléRUSTrust-1.95.0Success2,001+605.76 RP
Jun 7, 2026 20:48Victor MerckléVictor MerckléCPPclang++18.1.3Success1,991+70.14 RP
Jun 7, 2026 20:43Victor MerckléVictor MerckléCPPclang++18.1.3Success2,005+39.64 RP
Jun 7, 2026 20:38Victor MerckléVictor MerckléCPPclang++18.1.3Success2,033
Jun 7, 2026 20:33Victor MerckléVictor MerckléCPPclang++18.1.3Success2,020
Jun 7, 2026 20:28Victor MerckléVictor MerckléCPPclang++18.1.3Success2,041
Jun 6, 2026 23:33Victor MerckléVictor MerckléCPPclang++18.1.3Success2,013+58.88 RP
Jun 6, 2026 23:28Victor MerckléVictor MerckléCPPclang++18.1.3Success2,025+101.38 RP
Jun 6, 2026 23:23Victor MerckléVictor MerckléCPPclang++18.1.3Success2,046+264.94 RP
Jun 6, 2026 23:18Victor MerckléVictor MerckléCPPclang++18.1.3Success2,103+22.56 RP
Jun 6, 2026 23:13Victor MerckléVictor MerckléCPPclang++18.1.3Success2,108+102.40 RP
Jun 6, 2026 23:08Victor MerckléVictor MerckléCPPclang++18.1.3Success2,136
Jun 6, 2026 23:03Victor MerckléVictor MerckléCPPclang++18.1.3Success2,131+104.52 RP
Jun 6, 2026 22:48Victor MerckléVictor MerckléCPPclang++18.1.3Success2,465
Jun 6, 2026 05:05Victor MerckléVictor MerckléCPPclang++18.1.3Success2,155+110.64 RP
Jun 5, 2026 09:50Victor MerckléVictor MerckléCPPclang++18.1.3Success2,182
Jun 5, 2026 09:45Victor MerckléVictor MerckléCPPclang++18.1.3Success2,268