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
Back to listMar 30, 2026 03:25olliecrowolliecrowScore: 3,169Success
Source Code

Source code access is restricted. Log in to request access.

Challenge History

No challenges yet.

Run Statistics
#DateScoreWall TimeCPU UserCPU SystemMemoryError
1Mar 30, 2026 03:253,14558,740,73133,577,0001,017,0002,277,376
2Mar 30, 2026 03:223,14760,798,35933,601,0001,018,0002,408,448
3Mar 30, 2026 03:283,14966,144,04533,625,0001,018,0002,277,376
4Mar 30, 2026 03:253,14959,588,40233,624,0001,018,0002,396,160
5Mar 30, 2026 03:203,15061,381,61333,635,0001,019,0002,404,352
6Mar 30, 2026 03:273,15063,799,92533,636,0001,019,0002,277,376
7Mar 30, 2026 03:283,15359,461,37633,661,0001,020,0002,396,160
8Mar 30, 2026 03:193,15956,216,02132,763,0001,985,0002,396,160
9Mar 30, 2026 03:183,16259,349,76533,787,000993,0002,273,280
10Mar 30, 2026 03:253,16563,471,80434,820,00002,277,376
11Mar 30, 2026 03:183,16565,096,16433,816,000994,0002,277,376
12Mar 30, 2026 03:173,16862,714,01534,844,00002,277,376
13Mar 30, 2026 03:243,16861,244,97433,848,000995,0002,400,256
14Mar 30, 2026 03:233,16868,483,18832,859,0001,991,0002,277,376
15Mar 30, 2026 03:223,16859,733,79533,858,000995,0002,404,352
16Mar 30, 2026 03:223,16864,662,24432,854,0001,991,0002,277,376
17Mar 30, 2026 03:213,16864,008,47034,850,00002,400,256
18Mar 30, 2026 03:213,16859,875,26332,857,0001,991,0002,277,376
19Mar 30, 2026 03:173,16863,740,73332,852,0001,991,0002,277,376
20Mar 30, 2026 03:183,16867,218,60834,843,00002,396,160
21Mar 30, 2026 03:213,16961,089,07833,865,000996,0002,277,376
22Mar 30, 2026 03:183,16963,631,15332,865,0001,991,0002,277,376
23Mar 30, 2026 03:263,16963,740,52432,866,0001,991,0002,277,376
24Mar 30, 2026 03:243,16966,188,21133,865,000996,0002,396,160
25Mar 30, 2026 03:243,16961,134,00032,864,0001,991,0002,277,376
26Mar 30, 2026 03:233,16962,653,76734,859,00002,277,376
27Mar 30, 2026 03:193,16963,696,90033,864,000996,0002,506,752
28Mar 30, 2026 03:223,16965,134,49432,864,0001,991,0002,277,376
29Mar 30, 2026 03:273,16962,877,13633,860,000995,0002,277,376
30Mar 30, 2026 03:203,16959,250,96033,863,000995,0002,277,376
31Mar 30, 2026 03:283,16964,143,78633,860,000995,0002,404,352
32Mar 30, 2026 03:223,17056,340,11032,875,0001,992,0002,404,352
33Mar 30, 2026 03:223,17066,060,78732,877,0001,992,0002,392,064
34Mar 30, 2026 03:193,17060,554,62333,871,000996,0002,392,064
35Mar 30, 2026 03:263,17062,186,60233,872,000996,0002,392,064
36Mar 30, 2026 03:193,17059,074,84233,870,000996,0002,277,376
37Mar 30, 2026 03:273,17060,687,13833,870,000996,0002,400,256
38Mar 30, 2026 03:253,17160,632,63633,889,000996,0002,277,376
39Mar 30, 2026 03:183,17158,005,58032,885,0001,993,0002,396,160
40Mar 30, 2026 03:203,17157,964,30732,888,0001,993,0002,277,376
41Mar 30, 2026 03:213,17157,402,65033,881,000996,0002,277,376
42Mar 30, 2026 03:283,17261,193,02933,891,000996,0002,400,256
43Mar 30, 2026 03:233,17264,570,84333,896,000996,0002,396,160
44Mar 30, 2026 03:273,17262,185,23333,893,000996,0002,392,064
45Mar 30, 2026 03:213,17357,916,67433,908,000997,0002,404,352
46Mar 30, 2026 03:243,17458,073,79532,921,0001,995,0002,277,376
47Mar 30, 2026 03:243,17464,001,54632,920,0001,995,0002,277,376
48Mar 30, 2026 03:283,17558,144,60032,928,0001,995,0002,396,160
49Mar 30, 2026 03:193,17958,787,91133,972,000999,0002,277,376
50Mar 30, 2026 03:193,17957,052,40332,974,0001,998,0002,281,472
51Mar 30, 2026 03:253,18056,973,51232,978,0001,998,0002,277,376
52Mar 30, 2026 03:273,18059,164,70832,979,0001,998,0002,277,376
53Mar 30, 2026 03:273,18157,577,24132,995,0001,999,0002,277,376
54Mar 30, 2026 03:243,18160,407,86933,988,000999,0002,277,376
55Mar 30, 2026 03:253,18264,312,86033,003,0002,000,0002,277,376
56Mar 30, 2026 03:173,18458,903,38733,020,0002,001,0002,277,376
57Mar 30, 2026 03:183,18457,978,76334,029,0001,000,0002,277,376
58Mar 30, 2026 03:213,18558,624,78633,037,0002,002,0002,277,376
59Mar 30, 2026 03:283,18554,261,59133,035,0002,002,0002,277,376
60Mar 30, 2026 03:263,18864,978,00433,061,0002,003,0002,277,376