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 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
May 18, 2026 02:27M-RochatM-RochatCPPclang++19.1.1Success4,719
May 18, 2026 02:24M-RochatM-RochatCPPg++13.3.0Success4,881
May 18, 2026 02:24M-RochatM-RochatCPPclang++19.1.1Success4,698+3.17 RP
May 18, 2026 02:24M-RochatM-RochatCPPclang++18.1.3Success4,735
May 17, 2026 23:50M-RochatM-RochatCPPclang++20.1.2Success4,804
May 17, 2026 23:48M-RochatM-RochatCPPclang++20.1.2Success4,705+42.93 RP
May 17, 2026 23:44M-RochatM-RochatCPPclang++20.1.2Success4,802+58.99 RP
May 17, 2026 23:32M-RochatM-RochatCPPclang++20.1.2Success4,942+169.56 RP
May 17, 2026 23:19M-RochatM-RochatCPPclang++20.1.2Success5,524
May 17, 2026 23:18M-RochatM-RochatCPPclang++20.1.2Success5,394+122.61 RP
May 17, 2026 23:17M-RochatM-RochatCPPclang++20.1.2Success5,975
May 17, 2026 14:39M-RochatM-RochatCPPg++14.2.0Success6,085
May 17, 2026 14:39M-RochatM-RochatCPPg++13.2.0Success6,075
May 17, 2026 14:39M-RochatM-RochatCPPclang++20.1.2Success6,302
May 17, 2026 14:35M-RochatM-RochatCPPg++14.2.0Success6,079
May 17, 2026 14:35M-RochatM-RochatCPPg++13.3.0Success6,225
May 17, 2026 14:35M-RochatM-RochatCPPclang++20.1.2Success5,776+154.76 RP
May 17, 2026 14:33M-RochatM-RochatCPPg++13.3.0Error
May 17, 2026 14:31M-RochatM-RochatCPPg++14.2.0Success6,368
May 17, 2026 14:31M-RochatM-RochatCPPg++13.3.0Error
May 17, 2026 14:12M-RochatM-RochatCPPg++13.3.0Success6,359
May 17, 2026 14:11M-RochatM-RochatCPPclang++20.1.2Success6,343+39.26 RP
May 17, 2026 14:04M-RochatM-RochatCPPclang++20.1.2Success6,582+2.07 RP
May 17, 2026 14:04M-RochatM-RochatCPPg++13.3.0Success6,505+17.98 RP
May 17, 2026 14:04M-RochatM-RochatCPPclang++18.1.3Success6,567