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 27, 2026 01:20olliecrowolliecrowScore: 3,152Success
Source Code

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

Challenge History

No challenges yet.

Run Statistics
#DateScoreWall TimeCPU UserCPU SystemMemoryError
1Mar 27, 2026 01:243,13555,802,90333,470,0001,014,0002,277,376
2Mar 27, 2026 01:203,13555,667,03133,467,0001,014,0002,396,160
3Mar 27, 2026 01:243,13655,188,31333,487,0001,014,0002,396,160
4Mar 27, 2026 01:243,13760,758,17234,512,00002,404,352
5Mar 27, 2026 01:203,13962,193,19733,509,0001,015,0002,277,376
6Mar 27, 2026 01:203,14154,681,89633,533,0001,016,0002,396,160
7Mar 27, 2026 01:203,14155,044,30934,550,00002,277,376
8Mar 27, 2026 01:203,14161,209,26733,538,0001,016,0002,277,376
9Mar 27, 2026 01:203,14161,543,74133,539,0001,016,0002,404,352
10Mar 27, 2026 01:203,14154,663,38334,551,00002,506,752
11Mar 27, 2026 01:243,14356,066,49034,576,00002,277,376
12Mar 27, 2026 01:243,14359,966,61634,573,00002,392,064
13Mar 27, 2026 01:243,14360,614,18334,574,00002,277,376
14Mar 27, 2026 01:203,14460,800,85333,567,0001,017,0002,396,160
15Mar 27, 2026 01:243,14465,764,72433,568,0001,017,0002,277,376
16Mar 27, 2026 01:203,14662,475,14734,601,00002,408,448
17Mar 27, 2026 01:203,14760,419,73634,616,00002,519,040
18Mar 27, 2026 01:203,14764,506,65134,613,00002,277,376
19Mar 27, 2026 01:243,14761,721,56133,604,0001,018,0002,277,376
20Mar 27, 2026 01:203,14864,187,37033,609,0001,018,0002,277,376
21Mar 27, 2026 01:243,14959,420,24833,621,0001,018,0002,396,160
22Mar 27, 2026 01:203,15056,164,54634,652,00002,396,160
23Mar 27, 2026 01:243,15166,000,40133,637,0001,019,0002,277,376
24Mar 27, 2026 01:243,15166,471,00333,642,0001,019,0002,396,160
25Mar 27, 2026 01:243,15258,707,80533,652,0001,019,0002,400,256
26Mar 27, 2026 01:243,15260,788,10934,671,00002,387,968
27Mar 27, 2026 01:243,15263,345,14333,658,0001,019,0002,400,256
28Mar 27, 2026 01:203,15259,952,64633,657,0001,019,0002,408,448
29Mar 27, 2026 01:243,15361,882,54533,666,0001,020,0002,396,160
30Mar 27, 2026 01:243,15460,294,13934,693,00002,277,376
31Mar 27, 2026 01:203,15560,848,04733,689,0001,020,0002,400,256
32Mar 27, 2026 01:203,15561,721,81433,681,0001,020,0002,277,376
33Mar 27, 2026 01:203,16762,411,83832,847,0001,990,0002,404,352
34Mar 27, 2026 01:243,16758,538,82232,850,0001,990,0002,400,256
35Mar 27, 2026 01:203,16762,409,14932,842,0001,990,0002,404,352
36Mar 27, 2026 01:203,16863,722,47433,851,000995,0002,404,352
37Mar 27, 2026 01:243,16865,890,41633,848,000995,0002,277,376
38Mar 27, 2026 01:243,16862,495,85332,855,0001,991,0002,396,160
39Mar 27, 2026 01:203,16866,570,32232,854,0001,991,0002,404,352
40Mar 27, 2026 01:203,16865,268,25733,857,000995,0002,277,376
41Mar 27, 2026 01:243,16864,768,33633,850,000995,0002,277,376
42Mar 27, 2026 01:203,16859,270,79133,856,000995,0002,396,160
43Mar 27, 2026 01:203,16959,391,69932,869,0001,992,0002,396,160
44Mar 27, 2026 01:203,17060,456,24332,877,0001,992,0002,277,376
45Mar 27, 2026 01:203,17063,828,15233,869,000996,0002,392,064
46Mar 27, 2026 01:203,17157,317,98832,893,0001,993,0002,519,040
47Mar 27, 2026 01:203,17159,683,63132,892,0001,993,0002,396,160
48Mar 27, 2026 01:203,17162,342,26932,885,0001,993,0002,387,968
49Mar 27, 2026 01:243,17459,278,02232,915,0001,994,0002,277,376
50Mar 27, 2026 01:243,17458,100,25233,918,000997,0002,396,160
51Mar 27, 2026 01:243,17760,035,82932,948,0001,996,0002,277,376
52Mar 27, 2026 01:203,18057,144,41433,980,000999,0002,281,472
53Mar 27, 2026 01:243,18456,496,08033,026,0002,001,0002,277,376
54Mar 27, 2026 01:203,23686,394,26334,576,0001,016,0002,273,280