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 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.0Success2,848+259.20 RP
Sep 15, 2026 01:55Josu San MartinJosu San MartinCPPg++13.3.0Success3,075+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.0Success3,260+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
Sep 8, 2026 12:18Victor MerckléVictor MerckléCPPg++14.2.0Success1,862+247.96 RP
Sep 8, 2026 12:11Victor MerckléVictor MerckléCPPg++14.2.0Success1,930
Sep 8, 2026 12:03Victor MerckléVictor MerckléCPPg++14.2.0Success1,958
Sep 8, 2026 12:01Victor MerckléVictor MerckléCPPg++14.2.0Success2,455
Sep 8, 2026 11:57Victor MerckléVictor MerckléCPPg++14.2.0Success1,969
Sep 8, 2026 11:52Victor MerckléVictor MerckléCPPg++14.2.0Success1,915
Sep 8, 2026 11:47Victor MerckléVictor MerckléCPPg++14.2.0Success2,128
Sep 8, 2026 11:47Victor MerckléVictor MerckléCPPg++14.2.0Success1,914
Sep 8, 2026 11:41Victor MerckléVictor MerckléCPPg++14.2.0Success1,906+43.86 RP
Sep 8, 2026 11:39Victor MerckléVictor MerckléCPPg++14.2.0Success2,047
Sep 8, 2026 11:31Victor MerckléVictor MerckléCPPg++14.2.0Success1,914
Sep 8, 2026 11:30Victor MerckléVictor MerckléCPPg++14.2.0Success2,025
Sep 8, 2026 11:26Victor MerckléVictor MerckléCPPg++14.2.0Success1,914+65.10 RP
Sep 8, 2026 11:23Victor MerckléVictor MerckléCPPg++14.2.0Success1,984
Sep 8, 2026 11:21Victor MerckléVictor MerckléCPPg++14.2.0Success2,056
Sep 8, 2026 11:17Victor MerckléVictor MerckléCPPg++14.2.0Success2,036
Sep 8, 2026 11:13Victor MerckléVictor MerckléCPPg++14.2.0Success1,971
Sep 8, 2026 11:12Victor MerckléVictor MerckléCPPg++14.2.0Success2,117
Sep 8, 2026 11:09Victor MerckléVictor MerckléCPPg++14.2.0Success1,959
Sep 8, 2026 10:56Victor MerckléVictor MerckléCPPg++14.2.0Success2,029
Sep 8, 2026 10:50Victor MerckléVictor MerckléCPPg++14.2.0Success1,994
Sep 8, 2026 10:49Victor MerckléVictor MerckléCPPg++14.2.0Success1,992
Sep 8, 2026 10:47Victor MerckléVictor MerckléCPPg++14.2.0Success2,036
Sep 8, 2026 10:44Victor MerckléVictor MerckléCPPg++14.2.0Success2,036
Sep 8, 2026 10:30Victor MerckléVictor MerckléCPPg++14.2.0Success2,021
Sep 8, 2026 10:22Victor MerckléVictor MerckléCPPg++14.2.0Success1,968
Sep 8, 2026 10:18Victor MerckléVictor MerckléCPPg++14.2.0Success1,976
Sep 8, 2026 10:13Victor MerckléVictor MerckléCPPg++14.2.0Success1,969
Sep 8, 2026 10:06Victor MerckléVictor MerckléCPPg++14.2.0Success2,123
Sep 8, 2026 10:05Victor MerckléVictor MerckléCPPg++14.2.0Success1,977
Sep 8, 2026 09:48Victor MerckléVictor MerckléCPPg++14.2.0Success2,039
Sep 8, 2026 09:41Victor MerckléVictor MerckléCPPg++14.2.0Success2,286
Sep 8, 2026 09:32Victor MerckléVictor MerckléCPPg++14.2.0Success2,193
Sep 8, 2026 09:28Victor MerckléVictor MerckléCPPg++14.2.0Success1,990
Sep 8, 2026 09:28Victor MerckléVictor MerckléCPPg++14.2.0Success2,550
Sep 8, 2026 09:15Victor MerckléVictor MerckléCPPg++14.2.0Success1,995
Sep 8, 2026 09:10Victor MerckléVictor MerckléCPPg++14.2.0Success2,190
Sep 8, 2026 09:05Victor MerckléVictor MerckléCPPg++14.2.0Success2,015
Sep 8, 2026 09:02Victor MerckléVictor MerckléCPPg++14.2.0Success2,303
Sep 8, 2026 08:59Victor MerckléVictor MerckléCPPg++14.2.0Success2,022
Sep 8, 2026 08:54Victor MerckléVictor MerckléCPPg++14.2.0Success2,036
Sep 8, 2026 08:29Victor MerckléVictor MerckléCPPg++14.2.0Success2,047
Sep 8, 2026 08:26Victor MerckléVictor MerckléCPPg++14.2.0Success2,039
Sep 8, 2026 08:16Victor MerckléVictor MerckléCPPg++14.2.0Success2,030
Sep 8, 2026 08:10Victor MerckléVictor MerckléCPPg++14.2.0Success2,033
Sep 8, 2026 08:04Victor MerckléVictor MerckléCPPg++14.2.0Success2,043
Sep 8, 2026 07:32Victor MerckléVictor MerckléCPPg++14.2.0Success2,046
Sep 8, 2026 07:28Victor MerckléVictor MerckléCPPg++14.2.0Success2,057
Sep 8, 2026 07:23Victor MerckléVictor MerckléCPPg++14.2.0Success1,928
Sep 8, 2026 07:20Victor MerckléVictor MerckléCPPg++14.2.0Success1,971
Sep 8, 2026 07:17Victor MerckléVictor MerckléCPPg++14.2.0Success1,989
Sep 8, 2026 07:14Victor MerckléVictor MerckléCPPg++14.2.0Success2,142
Sep 8, 2026 07:07Victor MerckléVictor MerckléCPPg++14.2.0Success2,155
Sep 8, 2026 06:37Victor MerckléVictor MerckléCPPg++14.2.0Success1,936
Sep 8, 2026 06:29Victor MerckléVictor MerckléCPPg++14.2.0Success1,926+21.52 RP
Sep 8, 2026 06:24Victor MerckléVictor MerckléCPPg++14.2.0Success2,112
Sep 4, 2026 15:37Victor MerckléVictor MerckléCPPg++14.2.0Success1,930
Sep 4, 2026 09:26Victor MerckléVictor MerckléCPPclang++18.1.3Error
Sep 4, 2026 07:07Victor MerckléVictor MerckléCPPclang++18.1.3Error
Aug 24, 2026 17:20Haha ExpertHaha ExpertCSHARP10.0.11Success138,363
Aug 24, 2026 09:54Victor MerckléVictor MerckléZIG0.16.0Error
Aug 24, 2026 09:41Victor MerckléVictor MerckléCSHARP10.0.7Error
Aug 24, 2026 09:38Victor MerckléVictor MerckléGOgo1.26.2Error