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
Sep 26, 2026 21:26Andrew EpsteinAndrew EpsteinCPPg++14.2.0Success20,248
Sep 26, 2026 21:24Andrew EpsteinAndrew EpsteinCPPg++14.2.0Success27,556
Sep 26, 2026 21:22Andrew EpsteinAndrew EpsteinCPPg++14.2.0Success20,096
Sep 26, 2026 21:09Andrew EpsteinAndrew EpsteinCPPg++14.2.0Success2,311+198.31 RP
Sep 26, 2026 21:07Andrew EpsteinAndrew EpsteinCPPg++14.2.0Success29,612
Sep 26, 2026 21:06Andrew EpsteinAndrew EpsteinCPPg++14.2.0Success22,152
Sep 26, 2026 20:51Andrew EpsteinAndrew EpsteinCPPg++14.2.0Success37,267
Sep 26, 2026 20:50Andrew EpsteinAndrew EpsteinCPPg++14.2.0Success21,255
Sep 26, 2026 20:48Andrew EpsteinAndrew EpsteinCPPg++14.2.0Success29,053
Sep 26, 2026 20:09Andrew EpsteinAndrew EpsteinCPPg++14.2.0Success28,798
Sep 26, 2026 19:07Kevin HeaveyKevin HeaveyCSHARP9.0.18Success1,828+182.44 RP
Sep 26, 2026 19:06Kevin HeaveyKevin HeaveyGOgo1.26.2Success1,840+862.31 RP
Sep 26, 2026 19:06Kevin HeaveyKevin HeaveyZIG0.15.1Success1,829+681.19 RP
Sep 26, 2026 19:06Kevin HeaveyKevin HeaveyRUSTrust-1.95.0Success1,847+706.09 RP
Sep 25, 2026 21:20Kevin HeaveyKevin HeaveyCPPg++13.3.0Success1,830+17.88 RP
Sep 25, 2026 20:40Andrew EpsteinAndrew EpsteinCPPg++14.2.0Success2,422+5.11 RP
Sep 25, 2026 20:23Andrew EpsteinAndrew EpsteinCPPg++14.2.0Success40,335
Sep 25, 2026 20:23Andrew EpsteinAndrew EpsteinCPPg++14.2.0Success2,425+157.03 RP
Sep 25, 2026 20:18Andrew EpsteinAndrew EpsteinCPPg++14.2.0Success2,555
Sep 25, 2026 20:17Andrew EpsteinAndrew EpsteinCPPg++14.2.0Success23,318
Sep 25, 2026 20:15Andrew EpsteinAndrew EpsteinCPPg++14.2.0Success2,581
Sep 25, 2026 20:13Andrew EpsteinAndrew EpsteinCPPg++14.2.0Success2,521+54.32 RP
Sep 25, 2026 20:04Andrew EpsteinAndrew EpsteinCPPg++14.2.0Success31,077
Sep 25, 2026 20:03Andrew EpsteinAndrew EpsteinCPPclang++20.1.2Success3,140
Sep 25, 2026 20:02Andrew EpsteinAndrew EpsteinCPPg++14.2.0Success2,652
Sep 25, 2026 19:39Andrew EpsteinAndrew EpsteinCPPg++14.2.0Success2,556+140.20 RP
Sep 25, 2026 19:36Andrew EpsteinAndrew EpsteinCPPg++14.2.0Success2,651+80.76 RP
Sep 25, 2026 19:34Andrew EpsteinAndrew EpsteinCPPg++14.2.0Success2,709+12.22 RP
Sep 25, 2026 19:32Andrew EpsteinAndrew EpsteinCPPg++14.2.0Success2,718+18.85 RP
Sep 25, 2026 19:28Andrew EpsteinAndrew EpsteinCPPg++14.2.0Success2,746
Sep 25, 2026 19:27Andrew EpsteinAndrew EpsteinCPPg++13.3.0Success2,732+5.35 RP
Sep 25, 2026 19:26Andrew EpsteinAndrew EpsteinCPPg++14.2.0Success2,736+192.37 RP
Sep 25, 2026 19:18Andrew EpsteinAndrew EpsteinCPPg++14.2.0Success2,936
Sep 25, 2026 19:16Andrew EpsteinAndrew EpsteinCPPg++14.2.0Success35,318
Sep 25, 2026 19:11Andrew EpsteinAndrew EpsteinCPPg++14.2.0Success32,576
Sep 25, 2026 19:09Andrew EpsteinAndrew EpsteinCPPg++14.2.0Success2,959
Sep 25, 2026 19:02Andrew EpsteinAndrew EpsteinCPPg++14.2.0Success2,888+61.24 RP
Sep 25, 2026 19:02Andrew EpsteinAndrew EpsteinCPPg++14.2.0Success3,046
Sep 25, 2026 18:58Andrew EpsteinAndrew EpsteinCPPg++14.2.0Success37,590
Sep 25, 2026 18:57Andrew EpsteinAndrew EpsteinCPPg++14.2.0Success35,921
Sep 25, 2026 18:55Andrew EpsteinAndrew EpsteinCPPg++14.2.0Success2,940+182.82 RP
Sep 25, 2026 18:54Andrew EpsteinAndrew EpsteinCPPg++14.2.0Success3,107+79.81 RP
Sep 25, 2026 18:50Andrew EpsteinAndrew EpsteinCPPg++14.2.0Success39,955
Sep 25, 2026 18:46Andrew EpsteinAndrew EpsteinCPPg++14.2.0Success3,186+0.98 RP
Sep 25, 2026 18:33Andrew EpsteinAndrew EpsteinCPPclang++18.1.3Success3,577
Sep 25, 2026 18:32Andrew EpsteinAndrew EpsteinCPPg++14.2.0Success3,187+405.51 RP
Sep 25, 2026 18:28Andrew EpsteinAndrew EpsteinCPPg++14.2.0Success3,660+143.58 RP
Sep 25, 2026 18:23Andrew EpsteinAndrew EpsteinCPPg++14.2.0Success28,878
Sep 25, 2026 18:21Andrew EpsteinAndrew EpsteinCPPg++14.2.0Success21,835
Sep 25, 2026 18:17Andrew EpsteinAndrew EpsteinCPPg++14.2.0Success21,046
Sep 25, 2026 18:11Andrew EpsteinAndrew EpsteinCPPg++14.2.0Success21,468
Sep 25, 2026 11:49Kevin HeaveyKevin HeaveyCPPg++13.3.0Success1,833+65.08 RP
Sep 25, 2026 11:47Kevin HeaveyKevin HeaveyCPPg++13.3.0Success1,844+81.57 RP
Sep 25, 2026 11:45Kevin HeaveyKevin HeaveyCPPg++13.3.0Success1,865+65.32 RP
Sep 25, 2026 11:40Kevin HeaveyKevin HeaveyCPPg++13.3.0Success1,888+139.31 RP
Sep 25, 2026 11:18Kevin HeaveyKevin HeaveyCPPg++13.3.0Success1,939+169.77 RP
Sep 25, 2026 11:14Kevin HeaveyKevin HeaveyCPPg++13.3.0Success2,005+144.92 RP
Sep 25, 2026 10:56Kevin HeaveyKevin HeaveyCPPg++13.3.0Success2,065+332.02 RP
Sep 25, 2026 10:51Kevin HeaveyKevin HeaveyCPPg++13.3.0Success2,217+4'510.60 RP
Sep 25, 2026 10:00Kevin HeaveyKevin HeaveyCPPg++13.3.0Error
Sep 25, 2026 10:00Kevin HeaveyKevin HeaveyCPPg++13.3.0Error
Sep 23, 2026 19:43Matthias GörgensMatthias GörgensCPPclang++19.1.1Success18,365+249.15 RP
Sep 23, 2026 18:20Matthias GörgensMatthias GörgensCPPclang++19.1.1Success33,857+295.36 RP
Sep 19, 2026 13:33Andrew EpsteinAndrew EpsteinCPPg++14.2.0Success98,776
Sep 19, 2026 13:28Andrew EpsteinAndrew EpsteinCPPg++14.2.0Success3,891
Sep 16, 2026 00:07Josu San MartinJosu San MartinCPPg++13.3.0Success3,133
Sep 15, 2026 23:32Josu San MartinJosu San MartinCPPg++13.3.0Success2,868
Sep 15, 2026 22:50Josu San MartinJosu San MartinCPPg++13.3.0Success2,871
Sep 15, 2026 17:41Josu San MartinJosu San MartinCPPg++13.3.0Success2,852
Sep 15, 2026 02:14Josu San MartinJosu San MartinCPPg++13.3.0Error+259.20 RP
Sep 15, 2026 01:55Josu San MartinJosu San MartinCPPg++13.3.0Error+184.55 RP
Sep 15, 2026 01:53Josu San MartinJosu San MartinCPPg++13.3.0Success3,805
Sep 15, 2026 01:37Josu San MartinJosu San MartinCPPg++13.3.0Success3,439
Sep 15, 2026 01:21Josu San MartinJosu San MartinCPPg++13.3.0Error+237.03 RP
Sep 15, 2026 01:20Josu San MartinJosu San MartinCPPg++13.3.0Error
Sep 15, 2026 00:56Josu San MartinJosu San MartinCPPg++13.3.0Success4,203
Sep 15, 2026 00:40Josu San MartinJosu San MartinCPPg++14.2.0Success31,146
Sep 10, 2026 23:59Andrew EpsteinAndrew EpsteinCPPg++14.2.0Success3,945
Sep 10, 2026 23:54Andrew EpsteinAndrew EpsteinCPPg++14.2.0Success3,889
Sep 10, 2026 03:48Andrew EpsteinAndrew EpsteinCPPg++14.2.0Success3,863+31.77 RP
Sep 10, 2026 03:44Andrew EpsteinAndrew EpsteinCPPg++14.2.0Success18,592
Sep 9, 2026 23:55Andrew EpsteinAndrew EpsteinCPPg++14.2.0Success3,911+43.70 RP
Sep 9, 2026 23:51Andrew EpsteinAndrew EpsteinCPPg++14.2.0Success4,167
Sep 9, 2026 15:29Victor MerckléVictor MerckléCSHARP10.0.7Success1,890+19.52 RP
Sep 9, 2026 15:22Victor MerckléVictor MerckléCSHARP10.0.7Success1,897+803.21 RP
Sep 9, 2026 13:37Tomislav TunkovicTomislav TunkovicRUSTrust-1.95.0Success2,124+1'617.86 RP
Sep 9, 2026 13:29Tomislav TunkovicTomislav TunkovicZIG0.15.1Success2,088+4'447.54 RP
Sep 9, 2026 13:23Tomislav TunkovicTomislav TunkovicGOgo1.26.2Success2,187+2'397.21 RP
Sep 9, 2026 13:22Tomislav TunkovicTomislav TunkovicCSHARP9.0.15Success2,238+8'502.30 RP
Sep 8, 2026 13:42Victor MerckléVictor MerckléCPPg++14.2.0Success1,939
Sep 8, 2026 13:41Victor MerckléVictor MerckléCPPg++14.2.0Success1,993
Sep 8, 2026 13:27Victor MerckléVictor MerckléCPPg++14.2.0Success2,059
Sep 8, 2026 13:24Victor MerckléVictor MerckléCPPg++14.2.0Success1,854
Sep 8, 2026 13:22Victor MerckléVictor MerckléCPPg++14.2.0Success1,855
Sep 8, 2026 12:53Victor MerckléVictor MerckléCPPg++14.2.0Success2,355
Sep 8, 2026 12:36Victor MerckléVictor MerckléCPPg++14.2.0Success1,875
Sep 8, 2026 12:34Victor MerckléVictor MerckléCPPg++14.2.0Success2,175
Sep 8, 2026 12:31Victor MerckléVictor MerckléCPPg++14.2.0Success1,851+34.92 RP
Sep 8, 2026 12:29Victor MerckléVictor MerckléCPPg++14.2.0Success1,990
Sep 8, 2026 12:28Victor MerckléVictor MerckléCPPg++14.2.0Success1,857+28.92 RP