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 07:15olliecrowolliecrowScore: 3,170Success
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 07:223,14859,452,92434,629,00002,396,160
2Mar 30, 2026 07:103,15164,109,30533,645,0001,019,0002,400,256
3Mar 30, 2026 07:163,15364,455,62834,685,00002,277,376
4Mar 30, 2026 07:223,15363,699,34434,687,00002,404,352
5Mar 30, 2026 07:163,15465,559,21733,673,0001,020,0002,392,064
6Mar 30, 2026 07:223,15459,749,09234,699,00002,277,376
7Mar 30, 2026 07:213,15466,311,82133,673,0001,020,0002,392,064
8Mar 30, 2026 07:163,15565,029,61433,688,0001,020,0002,396,160
9Mar 30, 2026 07:203,15559,665,10133,686,0001,020,0002,387,968
10Mar 30, 2026 07:113,15662,527,09633,697,0001,021,0002,404,352
11Mar 30, 2026 07:143,15763,345,97033,711,0001,021,0002,277,376
12Mar 30, 2026 07:113,16660,464,27732,840,0001,990,0002,277,376
13Mar 30, 2026 07:193,16663,933,04733,834,000995,0002,400,256
14Mar 30, 2026 07:093,16664,848,71033,831,000995,0002,277,376
15Mar 30, 2026 07:183,16663,769,88234,831,00002,277,376
16Mar 30, 2026 07:113,16766,977,46533,846,000995,0002,277,376
17Mar 30, 2026 07:203,16764,907,68533,845,000995,0002,400,256
18Mar 30, 2026 07:113,16766,071,51234,832,00002,277,376
19Mar 30, 2026 07:093,16761,015,47532,849,0001,990,0002,400,256
20Mar 30, 2026 07:183,16760,522,26134,838,00002,277,376
21Mar 30, 2026 07:183,16761,299,13233,845,000995,0002,400,256
22Mar 30, 2026 07:213,16861,600,64734,853,00002,281,472
23Mar 30, 2026 07:143,16857,273,88132,855,0001,991,0002,400,256
24Mar 30, 2026 07:223,16861,537,92932,853,0001,991,0002,400,256
25Mar 30, 2026 07:203,16963,234,26332,863,0001,991,0002,277,376
26Mar 30, 2026 07:163,16960,988,21234,857,00002,277,376
27Mar 30, 2026 07:183,16962,245,36432,863,0001,991,0002,277,376
28Mar 30, 2026 07:153,16966,410,42633,861,000995,0002,277,376
29Mar 30, 2026 07:233,16963,998,67234,856,00002,408,448
30Mar 30, 2026 07:093,16960,520,91832,863,0001,991,0002,387,968
31Mar 30, 2026 07:173,17059,238,13533,869,000996,0002,277,376
32Mar 30, 2026 07:183,17060,071,89633,869,000996,0002,392,064
33Mar 30, 2026 07:223,17063,219,35432,876,0001,992,0002,396,160
34Mar 30, 2026 07:123,17066,993,53133,870,000996,0002,277,376
35Mar 30, 2026 07:173,17160,579,39132,887,0001,993,0002,277,376
36Mar 30, 2026 07:113,17161,625,44132,888,0001,993,0002,277,376
37Mar 30, 2026 07:123,17159,357,92233,889,000996,0002,277,376
38Mar 30, 2026 07:203,17562,314,53132,929,0001,995,0002,396,160
39Mar 30, 2026 07:093,17562,839,09633,932,000998,0002,277,376
40Mar 30, 2026 07:103,17560,034,40633,929,000997,0002,277,376
41Mar 30, 2026 07:203,17563,212,63533,932,000998,0002,277,376
42Mar 30, 2026 07:233,17757,863,92432,946,0001,996,0002,277,376
43Mar 30, 2026 07:193,17755,771,75332,946,0001,996,0002,404,352
44Mar 30, 2026 07:173,17760,962,97332,946,0001,996,0002,392,064
45Mar 30, 2026 07:153,17760,561,15033,953,000998,0002,404,352
46Mar 30, 2026 07:093,17754,325,04832,954,0001,997,0002,277,376
47Mar 30, 2026 07:163,17863,015,17633,964,000998,0002,396,160
48Mar 30, 2026 07:183,17857,830,78732,959,0001,997,0002,277,376
49Mar 30, 2026 07:153,17857,487,27533,964,000998,0002,277,376
50Mar 30, 2026 07:213,17956,734,36932,967,0001,998,0002,277,376
51Mar 30, 2026 07:233,17960,310,57832,972,0001,998,0002,387,968
52Mar 30, 2026 07:223,18061,400,88932,978,0001,998,0002,277,376
53Mar 30, 2026 07:203,18158,139,36633,997,000999,0002,510,848
54Mar 30, 2026 07:103,18257,845,54633,006,0002,000,0002,392,064
55Mar 30, 2026 07:163,18261,491,50933,004,0002,000,0002,396,160
56Mar 30, 2026 07:143,18458,597,92133,019,0002,001,0002,273,280
57Mar 30, 2026 07:193,18658,283,63035,050,00002,277,376
58Mar 30, 2026 07:113,18655,806,74333,039,0002,002,0002,392,064
59Mar 30, 2026 07:093,18759,401,95134,060,0001,001,0002,277,376
60Mar 30, 2026 07:123,19063,383,26133,081,0002,004,0002,392,064