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 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
May 17, 2026 14:02M-RochatM-RochatCPPg++14.2.0Success6,591+241.55 RP
May 17, 2026 13:53M-RochatM-RochatCPPg++13.3.0Error
May 17, 2026 09:05olliecrowolliecrowRUSTrust-1.94.0Error
May 17, 2026 08:22M-RochatM-RochatCPPg++14.2.0Success7,851
May 17, 2026 06:24olliecrowolliecrowZIG0.14.0Success3,729
May 17, 2026 03:10M-RochatM-RochatCPPg++14.2.0Success7,843
May 17, 2026 02:43M-RochatM-RochatCPPg++14.2.0Success10,231
May 17, 2026 01:36M-RochatM-RochatCPPg++14.2.0Success21,717
May 17, 2026 01:36M-RochatM-RochatCPPg++14.2.0Success21,699
May 17, 2026 01:34M-RochatM-RochatCPPg++14.2.0Error
May 17, 2026 01:29M-RochatM-RochatCPPclang++18.1.3Success8,047
May 17, 2026 01:28M-RochatM-RochatCPPg++14.2.0Success7,839+0.81 RP
May 16, 2026 22:31M-RochatM-RochatCPPg++14.2.0Success7,844+15.89 RP
May 16, 2026 18:42M-RochatM-RochatCPPclang++18.1.3Success8,147
May 16, 2026 18:42M-RochatM-RochatCPPg++13.3.0Success7,960
May 16, 2026 18:42M-RochatM-RochatCPPclang++18.1.3Success8,146
May 16, 2026 18:20olliecrowolliecrowCSHARP9.0.14Success17,196
May 16, 2026 18:13olliecrowolliecrowCSHARP9.0.14Error
May 16, 2026 18:12olliecrowolliecrowGOgo1.26.1Success7,903
May 16, 2026 18:02olliecrowolliecrowRUSTrust-1.94.0Error
May 16, 2026 08:09M-RochatM-RochatCPPg++14.2.0Success7,979
May 16, 2026 06:49M-RochatM-RochatCPPg++14.2.0Success7,948
May 16, 2026 06:48M-RochatM-RochatCPPg++14.2.0Success7,943+30.92 RP
May 16, 2026 06:48M-RochatM-RochatCPPg++13.3.0Success9,138
May 16, 2026 06:47M-RochatM-RochatCPPg++13.3.0Success8,143+14.46 RP
May 16, 2026 06:46M-RochatM-RochatCPPg++13.3.0Success8,240+56.18 RP
May 16, 2026 06:44M-RochatM-RochatCPPclang++20.1.2Success9,121
May 16, 2026 06:44M-RochatM-RochatCPPg++13.3.0Success8,640+602.28 RP
May 16, 2026 06:42M-RochatM-RochatCPPg++13.3.0Success18,886
May 16, 2026 06:41M-RochatM-RochatCPPg++13.3.0Success18,014+256.03 RP
May 16, 2026 06:40M-RochatM-RochatCPPg++13.3.0Success33,434+90.65 RP
May 16, 2026 01:09olliecrowolliecrowZIG0.14.1Success3,764
May 15, 2026 20:30M-RochatM-RochatCPPg++13.3.0Success47,973+208.45 RP
May 15, 2026 20:29M-RochatM-RochatCPPg++13.3.0Error
May 12, 2026 07:26Victor MerckléVictor MerckléCPPclang++18.1.3Error+127.01 RP