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 10:30olliecrowolliecrowScore: 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 10:383,14966,286,94733,616,0001,018,0002,277,376
2Mar 30, 2026 10:423,14960,336,50133,622,0001,018,0002,400,256
3Mar 30, 2026 10:343,15166,115,42033,638,0001,019,0002,396,160
4Mar 30, 2026 10:323,15162,521,85133,643,0001,019,0002,277,376
5Mar 30, 2026 10:423,15261,710,48333,650,0001,019,0002,396,160
6Mar 30, 2026 10:323,15266,941,73734,673,00002,396,160
7Mar 30, 2026 10:343,15364,834,13433,664,0001,020,0002,277,376
8Mar 30, 2026 10:363,15459,753,51234,692,00002,277,376
9Mar 30, 2026 10:303,15672,413,60634,714,00002,404,352
10Mar 30, 2026 10:363,16561,672,53532,827,0001,989,0002,396,160
11Mar 30, 2026 10:373,16663,656,61032,839,0001,990,0002,404,352
12Mar 30, 2026 10:343,16659,521,36832,835,0001,990,0002,510,848
13Mar 30, 2026 10:383,16756,873,29232,843,0001,990,0002,277,376
14Mar 30, 2026 10:403,16761,634,26633,847,000995,0002,277,376
15Mar 30, 2026 10:363,16861,302,84732,859,0001,991,0002,404,352
16Mar 30, 2026 10:363,16864,674,12033,852,000995,0002,396,160
17Mar 30, 2026 10:343,16864,483,61832,855,0001,991,0002,277,376
18Mar 30, 2026 10:333,16867,909,73533,853,000995,0002,277,376
19Mar 30, 2026 10:403,16869,484,77132,857,0001,991,0002,277,376
20Mar 30, 2026 10:403,16862,541,90534,844,00002,277,376
21Mar 30, 2026 10:403,16863,975,08033,850,000995,0002,277,376
22Mar 30, 2026 10:423,16864,969,75534,844,00002,400,256
23Mar 30, 2026 10:433,16861,846,74533,848,000995,0002,277,376
24Mar 30, 2026 10:293,16863,979,22734,849,00002,392,064
25Mar 30, 2026 10:393,16959,668,33833,859,000995,0002,400,256
26Mar 30, 2026 10:393,16959,172,26333,866,000996,0002,510,848
27Mar 30, 2026 10:383,16962,800,41233,864,000996,0002,277,376
28Mar 30, 2026 10:293,16965,236,46033,859,000995,0002,400,256
29Mar 30, 2026 10:413,16960,741,62533,859,000995,0002,277,376
30Mar 30, 2026 10:363,16964,886,22732,866,0001,991,0002,396,160
31Mar 30, 2026 10:413,16964,607,41633,863,000995,0002,277,376
32Mar 30, 2026 10:353,16966,710,65532,868,0001,992,0002,396,160
33Mar 30, 2026 10:313,16961,900,47532,863,0001,991,0002,400,256
34Mar 30, 2026 10:313,16959,451,92533,863,000995,0002,277,376
35Mar 30, 2026 10:323,16967,134,61133,865,000996,0002,277,376
36Mar 30, 2026 10:323,16965,320,68434,858,00002,392,064
37Mar 30, 2026 10:433,17065,941,52133,869,000996,0002,482,176
38Mar 30, 2026 10:333,17159,169,94433,881,000996,0002,277,376
39Mar 30, 2026 10:373,17262,416,27432,901,0001,994,0002,277,376
40Mar 30, 2026 10:393,17357,072,84533,908,000997,0002,277,376
41Mar 30, 2026 10:353,17460,672,71733,922,000997,0002,277,376
42Mar 30, 2026 10:323,17559,201,30033,924,000997,0002,408,448
43Mar 30, 2026 10:353,17658,821,37132,936,0001,996,0002,400,256
44Mar 30, 2026 10:373,17665,171,55832,942,0001,996,0002,277,376
45Mar 30, 2026 10:433,17955,084,10032,972,0001,998,0002,396,160
46Mar 30, 2026 10:293,17956,458,47633,970,000999,0002,404,352
47Mar 30, 2026 10:303,17961,769,05632,970,0001,998,0002,277,376
48Mar 30, 2026 10:403,17962,612,63932,974,0001,998,0002,277,376
49Mar 30, 2026 10:303,18060,003,72833,981,000999,0002,273,280
50Mar 30, 2026 10:333,18264,593,12234,004,0001,000,0002,277,376
51Mar 30, 2026 10:403,18459,810,19633,024,0002,001,0002,277,376
52Mar 30, 2026 10:323,18558,391,04634,030,0001,000,0002,277,376
53Mar 30, 2026 10:343,18558,470,38633,029,0002,001,0002,396,160
54Mar 30, 2026 10:363,18665,378,51734,044,0001,001,0002,277,376
55Mar 30, 2026 10:413,18760,120,37234,052,0001,001,0002,404,352
56Mar 30, 2026 10:313,19168,625,16033,096,0002,005,0002,277,376
57Mar 30, 2026 10:343,20758,184,37934,270,0001,007,0002,404,352