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 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+50.70 RP
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
Jun 5, 2026 09:40Victor MerckléVictor MerckléCPPclang++18.1.3Success2,234
Jun 5, 2026 09:27Victor MerckléVictor MerckléCPPclang++18.1.3Success2,608
Jun 5, 2026 09:15Victor MerckléVictor MerckléCPPclang++18.1.3Success2,203
Jun 5, 2026 09:10Victor MerckléVictor MerckléCPPclang++18.1.3Success2,181+83.32 RP
Jun 5, 2026 09:05Victor MerckléVictor MerckléCPPclang++18.1.3Success2,201+12.36 RP
Jun 5, 2026 09:00Victor MerckléVictor MerckléCPPclang++18.1.3Success3,209
Jun 5, 2026 08:55Victor MerckléVictor MerckléCPPclang++18.1.3Success2,204+57.28 RP
Jun 5, 2026 08:50Victor MerckléVictor MerckléCPPclang++18.1.3Success2,218+516.92 RP
May 21, 2026 21:29M-RochatM-RochatCPPclang++20.1.2Success4,455
May 21, 2026 21:28M-RochatM-RochatCPPclang++20.1.2Success4,469
May 21, 2026 21:26M-RochatM-RochatCPPclang++20.1.2Success4,496
May 21, 2026 21:24M-RochatM-RochatCPPclang++20.1.2Success4,461
May 21, 2026 21:23M-RochatM-RochatCPPclang++20.1.2Success4,462
May 21, 2026 21:22M-RochatM-RochatCPPclang++20.1.2Success4,464
May 21, 2026 21:20M-RochatM-RochatCPPclang++20.1.2Success4,446+4.04 RP
May 21, 2026 21:19M-RochatM-RochatCPPclang++18.1.3Success4,465
May 21, 2026 21:18M-RochatM-RochatCPPclang++19.1.1Success4,459
May 21, 2026 21:17M-RochatM-RochatCPPclang++19.1.1Success4,456
May 21, 2026 21:15M-RochatM-RochatCPPclang++19.1.1Success4,503
May 21, 2026 21:14M-RochatM-RochatCPPclang++19.1.1Success4,454+6.03 RP
May 21, 2026 21:13M-RochatM-RochatCPPclang++19.1.1Success4,589
May 21, 2026 21:11M-RochatM-RochatCPPclang++19.1.1Success4,560
May 21, 2026 21:09M-RochatM-RochatCPPclang++19.1.1Success4,703
May 21, 2026 21:06M-RochatM-RochatCPPclang++19.1.1Success4,466+18.89 RP
May 21, 2026 21:04M-RochatM-RochatCPPclang++19.1.1Success4,508
May 18, 2026 18:02M-RochatM-RochatCPPclang++20.1.2Success4,512
May 18, 2026 18:02M-RochatM-RochatCPPclang++19.1.1Success4,504+1.97 RP
May 18, 2026 18:02M-RochatM-RochatCPPclang++18.1.3Success4,508
May 18, 2026 18:00M-RochatM-RochatCPPclang++19.1.1Success4,508+13.21 RP
May 18, 2026 09:13M-RochatM-RochatCPPclang++19.1.1Success4,539
May 18, 2026 02:55M-RochatM-RochatCPPg++13.3.0Success4,703
May 18, 2026 02:55M-RochatM-RochatCPPg++14.2.0Success4,687
May 18, 2026 02:50M-RochatM-RochatCPPclang++18.1.3Success4,539
May 18, 2026 02:50M-RochatM-RochatCPPclang++20.1.2Success4,537
May 18, 2026 02:49M-RochatM-RochatCPPclang++19.1.1Success4,842
May 18, 2026 02:48M-RochatM-RochatCPPclang++19.1.1Success4,535+76.51 RP
May 18, 2026 02:46M-RochatM-RochatCPPclang++19.1.1Success4,723
May 18, 2026 02:28M-RochatM-RochatCPPclang++19.1.1Success4,706
May 18, 2026 02:27M-RochatM-RochatCPPclang++19.1.1Success4,713
May 18, 2026 02:27M-RochatM-RochatCPPclang++19.1.1Success4,709