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 14:23olliecrowolliecrowScore: 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 14:273,14760,209,09233,597,0001,018,0002,523,136
2Mar 30, 2026 14:263,15065,597,70733,633,0001,019,0002,277,376
3Mar 30, 2026 14:273,15161,053,64433,641,0001,019,0002,277,376
4Mar 30, 2026 14:293,15165,598,30833,644,0001,019,0002,400,256
5Mar 30, 2026 14:253,15367,535,91733,667,0001,020,0002,506,752
6Mar 30, 2026 14:363,15456,937,58833,674,0001,020,0002,400,256
7Mar 30, 2026 14:333,15565,310,22334,707,00002,277,376
8Mar 30, 2026 14:283,16561,048,32534,811,00002,396,160
9Mar 30, 2026 14:313,16665,519,86732,838,0001,990,0002,494,464
10Mar 30, 2026 14:343,16664,507,31233,835,000995,0002,277,376
11Mar 30, 2026 14:263,16663,010,57733,829,000994,0002,277,376
12Mar 30, 2026 14:283,16662,655,33933,830,000995,0002,277,376
13Mar 30, 2026 14:243,16761,083,31833,837,000995,0002,404,352
14Mar 30, 2026 14:343,16764,804,61632,844,0001,990,0002,400,256
15Mar 30, 2026 14:343,16759,330,42432,847,0001,990,0002,396,160
16Mar 30, 2026 14:353,16860,523,97332,861,0001,991,0002,383,872
17Mar 30, 2026 14:343,16864,816,49132,860,0001,991,0002,392,064
18Mar 30, 2026 14:363,16863,164,79734,846,00002,408,448
19Mar 30, 2026 14:293,16863,902,92633,856,000995,0002,277,376
20Mar 30, 2026 14:363,16866,874,91533,858,000995,0002,277,376
21Mar 30, 2026 14:253,16866,818,51132,862,0001,991,0002,396,160
22Mar 30, 2026 14:233,16861,476,69233,855,000995,0002,396,160
23Mar 30, 2026 14:253,16858,715,83033,819,0001,024,0002,277,376
24Mar 30, 2026 14:243,16869,476,32333,856,000995,0002,277,376
25Mar 30, 2026 14:223,16959,992,21732,863,0001,991,0002,486,272
26Mar 30, 2026 14:343,16959,767,23434,864,00002,277,376
27Mar 30, 2026 14:373,16959,578,53132,868,0001,992,0002,482,176
28Mar 30, 2026 14:323,16965,944,67032,864,0001,991,0002,277,376
29Mar 30, 2026 14:323,16964,258,88532,863,0001,991,0002,277,376
30Mar 30, 2026 14:353,16965,439,08032,869,0001,992,0002,277,376
31Mar 30, 2026 14:313,16960,690,68033,866,000996,0002,277,376
32Mar 30, 2026 14:313,16964,109,97832,866,0001,991,0002,277,376
33Mar 30, 2026 14:303,16965,785,04932,869,0001,992,0002,277,376
34Mar 30, 2026 14:303,16963,681,77132,867,0001,991,0002,277,376
35Mar 30, 2026 14:353,17061,062,91834,872,00002,277,376
36Mar 30, 2026 14:333,17059,590,43333,872,000996,0002,400,256
37Mar 30, 2026 14:303,17162,736,12632,892,0001,993,0002,273,280
38Mar 30, 2026 14:373,17257,970,02631,906,0002,991,0002,404,352
39Mar 30, 2026 14:273,17363,073,20232,910,0001,994,0002,396,160
40Mar 30, 2026 14:363,17457,202,25133,918,000997,0002,510,848
41Mar 30, 2026 14:243,17664,424,22032,943,0001,996,0002,277,376
42Mar 30, 2026 14:313,17658,155,80032,943,0001,996,0002,400,256
43Mar 30, 2026 14:323,17657,014,85432,943,0001,996,0002,277,376
44Mar 30, 2026 14:223,17763,919,69333,944,000998,0002,392,064
45Mar 30, 2026 14:263,17761,572,39632,954,0001,997,0002,277,376
46Mar 30, 2026 14:343,17856,547,64432,963,0001,997,0002,277,376
47Mar 30, 2026 14:333,17859,646,53633,964,000998,0002,277,376
48Mar 30, 2026 14:313,17860,640,49532,959,0001,997,0002,277,376
49Mar 30, 2026 14:293,17859,028,86233,958,000998,0002,400,256
50Mar 30, 2026 14:223,17965,099,18832,973,0001,998,0002,277,376
51Mar 30, 2026 14:363,18056,733,70332,979,0001,998,0002,404,352
52Mar 30, 2026 14:283,18161,375,08633,997,000999,0002,277,376
53Mar 30, 2026 14:373,18159,072,24933,988,000999,0002,269,184
54Mar 30, 2026 14:233,18462,789,57233,018,0002,001,0002,277,376
55Mar 30, 2026 14:233,18560,335,36333,031,0002,001,0002,404,352
56Mar 30, 2026 14:363,18658,843,17334,042,0001,001,0002,277,376
57Mar 30, 2026 14:313,18962,548,16733,071,0002,004,0002,277,376