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
Aug 23, 2026 14:22Victor MerckléVictor MerckléCPPclang++18.1.3Success2,087
Aug 23, 2026 14:16Victor MerckléVictor MerckléCPPclang++18.1.3Success2,050
Aug 23, 2026 14:13Victor MerckléVictor MerckléCPPclang++18.1.3Success2,145
Aug 23, 2026 14:07Victor MerckléVictor MerckléCPPclang++18.1.3Success2,045
Aug 23, 2026 14:05Victor MerckléVictor MerckléCPPclang++18.1.3Success2,092
Aug 23, 2026 13:59Victor MerckléVictor MerckléCPPclang++18.1.3Success2,639
Aug 23, 2026 13:55Victor MerckléVictor MerckléCPPclang++18.1.3Success2,046
Aug 23, 2026 13:50Victor MerckléVictor MerckléCPPclang++18.1.3Success2,056
Aug 21, 2026 18:20Victor MerckléVictor MerckléCPPclang++18.1.3Success2,040
Aug 21, 2026 18:17Victor MerckléVictor MerckléCPPclang++18.1.3Success2,050
Aug 21, 2026 18:14Victor MerckléVictor MerckléCPPclang++18.1.3Success2,042
Aug 21, 2026 18:10Victor MerckléVictor MerckléCPPclang++18.1.3Success2,089
Aug 21, 2026 18:06Victor MerckléVictor MerckléCPPclang++18.1.3Success2,051
Aug 21, 2026 18:02Victor MerckléVictor MerckléCPPclang++18.1.3Success2,048
Aug 21, 2026 17:57Victor MerckléVictor MerckléCPPclang++18.1.3Success2,091
Aug 21, 2026 17:55Victor MerckléVictor MerckléCPPclang++18.1.3Success2,349
Aug 21, 2026 17:53Victor MerckléVictor MerckléCPPclang++18.1.3Success2,048
Aug 21, 2026 17:52Victor MerckléVictor MerckléCPPclang++18.1.3Success2,053
Aug 21, 2026 17:51Victor MerckléVictor MerckléCPPclang++18.1.3Success2,047
Aug 21, 2026 17:49Victor MerckléVictor MerckléCPPclang++18.1.3Success2,056
Aug 21, 2026 17:48Victor MerckléVictor MerckléCPPclang++18.1.3Success2,066
Aug 21, 2026 17:46Victor MerckléVictor MerckléCPPclang++18.1.3Success2,054
Aug 21, 2026 17:45Victor MerckléVictor MerckléCPPclang++18.1.3Success2,072
Aug 21, 2026 17:43Victor MerckléVictor MerckléCPPclang++18.1.3Success2,084
Aug 21, 2026 17:42Victor MerckléVictor MerckléCPPclang++18.1.3Success2,077
Aug 21, 2026 17:39Victor MerckléVictor MerckléCPPclang++18.1.3Success2,086
Aug 21, 2026 17:37Victor MerckléVictor MerckléCPPclang++18.1.3Success2,157
Aug 21, 2026 17:35Victor MerckléVictor MerckléCPPclang++18.1.3Success2,099
Aug 21, 2026 17:33Victor MerckléVictor MerckléCPPclang++18.1.3Success2,079
Aug 21, 2026 17:31Victor MerckléVictor MerckléCPPclang++18.1.3Success2,098
Aug 21, 2026 17:30Victor MerckléVictor MerckléCPPclang++18.1.3Success2,323
Aug 21, 2026 17:28Victor MerckléVictor MerckléCPPclang++18.1.3Success2,123
Aug 21, 2026 17:24Victor MerckléVictor MerckléCPPclang++18.1.3Success2,140
Aug 21, 2026 17:22Victor MerckléVictor MerckléCPPclang++18.1.3Success2,095
Aug 21, 2026 17:19Victor MerckléVictor MerckléCPPclang++18.1.3Success2,136
Aug 21, 2026 16:09Andrew EpsteinAndrew EpsteinCPPg++14.2.0Error
Aug 21, 2026 16:01Andrew EpsteinAndrew EpsteinCPPg++14.2.0Error+264.31 RP
Aug 21, 2026 15:53Victor MerckléVictor MerckléCPPclang++18.1.3Success2,340
Aug 21, 2026 15:49Andrew EpsteinAndrew EpsteinCPPg++14.2.0Error
Aug 21, 2026 15:49Victor MerckléVictor MerckléCPPclang++18.1.3Success2,342
Aug 21, 2026 15:46Victor MerckléVictor MerckléCPPclang++18.1.3Success2,335
Aug 21, 2026 15:45Victor MerckléVictor MerckléCPPclang++18.1.3Success2,334
Aug 21, 2026 15:44Andrew EpsteinAndrew EpsteinCPPg++14.2.0Error+218.30 RP
Aug 21, 2026 15:43Victor MerckléVictor MerckléCPPclang++18.1.3Success2,338
Aug 21, 2026 15:38Andrew EpsteinAndrew EpsteinCPPg++14.2.0Success3,979+464.85 RP
Aug 21, 2026 15:35Victor MerckléVictor MerckléCPPclang++18.1.3Success2,338
Aug 21, 2026 15:32Andrew EpsteinAndrew EpsteinCPPg++14.2.0Success4,882+416.49 RP
Aug 21, 2026 15:30Victor MerckléVictor MerckléCPPclang++18.1.3Success2,763
Aug 21, 2026 15:24Andrew EpsteinAndrew EpsteinCPPg++14.2.0Success24,693
Aug 21, 2026 15:20Andrew EpsteinAndrew EpsteinCPPg++14.2.0Success6,332
Aug 21, 2026 15:12Andrew EpsteinAndrew EpsteinCPPg++14.2.0Success6,128+1'522.85 RP
Aug 21, 2026 15:02Andrew EpsteinAndrew EpsteinCPPg++14.2.0Success91,741+109.00 RP
Aug 21, 2026 14:14Victor MerckléVictor MerckléCPPclang++18.1.3Success3,174
Aug 21, 2026 14:10Victor MerckléVictor MerckléCPPclang++18.1.3Success2,441
Aug 21, 2026 13:55Victor MerckléVictor MerckléCPPclang++18.1.3Success3,109
Aug 21, 2026 13:52Victor MerckléVictor MerckléCPPclang++18.1.3Success4,244
Aug 21, 2026 13:46Victor MerckléVictor MerckléCPPclang++18.1.3Success2,083
Aug 21, 2026 13:43Victor MerckléVictor MerckléCPPclang++18.1.3Success2,117
Aug 21, 2026 13:39Victor MerckléVictor MerckléCPPclang++18.1.3Success2,084
Aug 21, 2026 13:37Victor MerckléVictor MerckléCPPclang++18.1.3Success2,083
Aug 21, 2026 13:36Victor MerckléVictor MerckléCPPclang++18.1.3Success2,162
Aug 21, 2026 13:32Victor MerckléVictor MerckléCPPclang++18.1.3Success3,320
Aug 21, 2026 13:29Victor MerckléVictor MerckléCPPclang++18.1.3Success2,181
Aug 21, 2026 13:27Victor MerckléVictor MerckléCPPclang++18.1.3Success2,085
Aug 21, 2026 13:21Victor MerckléVictor MerckléCPPclang++18.1.3Success4,147
Aug 21, 2026 13:20Victor MerckléVictor MerckléCPPclang++18.1.3Success2,099
Aug 21, 2026 13:17Victor MerckléVictor MerckléCPPclang++18.1.3Success2,117
Aug 21, 2026 13:14Victor MerckléVictor MerckléCPPg++14.2.0Success2,121
Aug 21, 2026 13:12Victor MerckléVictor MerckléCPPclang++18.1.3Success2,121
Aug 21, 2026 13:09Victor MerckléVictor MerckléCPPclang++18.1.3Success2,145
Aug 21, 2026 13:07Victor MerckléVictor MerckléCPPclang++20.1.2Success2,274
Aug 18, 2026 04:15Victor MerckléVictor MerckléCPPclang++18.1.3Success2,105
Aug 18, 2026 04:12Victor MerckléVictor MerckléCPPclang++18.1.3Success2,190
Aug 18, 2026 04:08Victor MerckléVictor MerckléCPPclang++20.1.2Success2,090
Aug 18, 2026 03:57Victor MerckléVictor MerckléCPPclang++18.1.3Success2,106
Aug 18, 2026 03:45Victor MerckléVictor MerckléCPPclang++18.1.3Success2,309
Aug 18, 2026 03:25Victor MerckléVictor MerckléCPPclang++18.1.3Success2,241
Aug 18, 2026 02:46Victor MerckléVictor MerckléCSHARP10.0.7Error
Aug 18, 2026 02:33Victor MerckléVictor MerckléCSHARP10.0.7Error
Aug 18, 2026 02:29Victor MerckléVictor MerckléCPPclang++18.1.3Success2,083
Aug 18, 2026 02:22Victor MerckléVictor MerckléCPPclang++18.1.3Success2,510
Aug 18, 2026 02:10Victor MerckléVictor MerckléCPPclang++18.1.3Success2,128
Aug 18, 2026 01:20Victor MerckléVictor MerckléCSHARP10.0.7Error
Aug 18, 2026 01:11Victor MerckléVictor MerckléCSHARP10.0.7Error
Aug 18, 2026 00:58Josu San MartinJosu San MartinCSHARP10.0.7Error
Aug 18, 2026 00:52Victor MerckléVictor MerckléCSHARP10.0.7Error
Aug 18, 2026 00:43Josu San MartinJosu San MartinCSHARP9.0.15Error
Aug 18, 2026 00:26Josu San MartinJosu San MartinCSHARP9.0.15Error
Aug 18, 2026 00:24Victor MerckléVictor MerckléCSHARP10.0.7Error
Aug 18, 2026 00:24Josu San MartinJosu San MartinGOgo1.26.2Error
Aug 18, 2026 00:22Josu San MartinJosu San MartinZIG0.15.1Error
Aug 18, 2026 00:19Josu San MartinJosu San MartinRUSTrust-1.95.0Error
Aug 18, 2026 00:08Victor MerckléVictor MerckléCSHARP10.0.7Error
Aug 17, 2026 23:40Victor MerckléVictor MerckléCSHARP10.0.7Error
Aug 17, 2026 22:42Victor MerckléVictor MerckléCSHARP10.0.7Error
Aug 17, 2026 22:04Victor MerckléVictor MerckléCSHARP10.0.7Error+5.00 RP
Aug 17, 2026 18:40Tomislav TunkovicTomislav TunkovicCSHARP9.0.15Error
Aug 17, 2026 18:13Tomislav TunkovicTomislav TunkovicCSHARP9.0.15Error
Aug 17, 2026 18:11Tomislav TunkovicTomislav TunkovicGOgo1.26.2Error
Aug 17, 2026 17:59Tomislav TunkovicTomislav TunkovicCSHARP9.0.15Error