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 04:57olliecrowolliecrowScore: 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 04:543,14962,658,29633,618,0001,018,0002,404,352
2Mar 30, 2026 04:563,15061,641,64834,647,00002,404,352
3Mar 30, 2026 05:043,15360,759,04334,686,00002,277,376
4Mar 30, 2026 04:593,15463,276,13434,697,00002,277,376
5Mar 30, 2026 05:063,15463,760,44534,692,00002,396,160
6Mar 30, 2026 04:543,15561,277,77634,706,00002,408,448
7Mar 30, 2026 04:553,16460,896,98932,811,0001,988,0002,392,064
8Mar 30, 2026 04:553,16463,128,73033,806,000994,0002,277,376
9Mar 30, 2026 05:053,16664,518,21133,835,000995,0002,277,376
10Mar 30, 2026 05:043,16668,873,27933,835,000995,0002,400,256
11Mar 30, 2026 04:553,16760,758,45733,843,000995,0002,404,352
12Mar 30, 2026 05:013,16761,338,92532,850,0001,990,0002,400,256
13Mar 30, 2026 04:593,16755,207,35734,838,00002,277,376
14Mar 30, 2026 05:083,16861,233,50233,857,000995,0002,277,376
15Mar 30, 2026 05:093,16862,822,77233,850,000995,0002,404,352
16Mar 30, 2026 05:093,16865,607,60732,856,0001,991,0002,396,160
17Mar 30, 2026 05:013,16863,462,17433,855,000995,0002,400,256
18Mar 30, 2026 04:593,16862,544,31634,852,00002,277,376
19Mar 30, 2026 04:593,16865,446,50033,855,000995,0002,277,376
20Mar 30, 2026 04:543,16860,621,58934,848,00002,404,352
21Mar 30, 2026 04:583,16866,220,13533,853,000995,0002,277,376
22Mar 30, 2026 04:583,16866,429,11132,857,0001,991,0002,277,376
23Mar 30, 2026 04:543,16860,302,12834,850,00002,277,376
24Mar 30, 2026 04:543,16860,193,32133,855,000995,0002,387,968
25Mar 30, 2026 04:553,16864,115,04832,861,0001,991,0002,277,376
26Mar 30, 2026 04:563,16864,871,65032,853,0001,991,0002,404,352
27Mar 30, 2026 05:053,16971,836,65932,863,0001,991,0002,277,376
28Mar 30, 2026 05:093,16957,679,20132,865,0001,991,0002,277,376
29Mar 30, 2026 04:543,16964,534,73334,861,00002,396,160
30Mar 30, 2026 05:063,16962,206,05233,861,000995,0002,273,280
31Mar 30, 2026 05:023,16960,751,73234,863,00002,277,376
32Mar 30, 2026 04:563,16962,731,61032,865,0001,991,0002,277,376
33Mar 30, 2026 05:003,16964,793,30832,869,0001,992,0002,396,160
34Mar 30, 2026 05:003,16965,093,54933,863,000995,0002,277,376
35Mar 30, 2026 04:573,17059,352,37332,879,0001,992,0002,277,376
36Mar 30, 2026 05:093,17060,035,59532,881,0001,992,0002,387,968
37Mar 30, 2026 04:593,17060,017,42433,874,000996,0002,408,448
38Mar 30, 2026 05:073,17059,621,61132,875,0001,992,0002,396,160
39Mar 30, 2026 04:553,17063,568,82032,875,0001,992,0002,404,352
40Mar 30, 2026 05:073,17069,506,69832,873,0001,992,0002,277,376
41Mar 30, 2026 05:073,17159,375,30133,886,000996,0002,277,376
42Mar 30, 2026 05:053,17159,345,23733,887,000996,0002,277,376
43Mar 30, 2026 05:083,17257,042,26532,894,0001,993,0002,277,376
44Mar 30, 2026 05:093,17363,031,07433,902,000997,0002,392,064
45Mar 30, 2026 05:023,17562,060,29232,933,0001,995,0002,392,064
46Mar 30, 2026 04:583,17662,288,99532,936,0001,996,0002,277,376
47Mar 30, 2026 05:043,17656,591,90933,941,000998,0002,277,376
48Mar 30, 2026 05:013,17661,899,32833,935,000998,0002,277,376
49Mar 30, 2026 05:093,17864,537,14933,963,000998,0002,408,448
50Mar 30, 2026 05:083,17962,804,63732,973,0001,998,0002,277,376
51Mar 30, 2026 05:073,18158,070,52732,987,0001,999,0002,396,160
52Mar 30, 2026 05:023,18154,063,34533,995,000999,0002,277,376
53Mar 30, 2026 04:573,18259,543,56533,000,0002,000,0002,277,376
54Mar 30, 2026 04:573,18360,330,03334,014,0001,000,0002,490,368
55Mar 30, 2026 05:073,18560,239,89535,032,00002,400,256
56Mar 30, 2026 05:073,18562,074,54133,033,0002,002,0002,277,376
57Mar 30, 2026 04:553,18665,656,58234,045,0001,001,0002,396,160
58Mar 30, 2026 04:593,18665,479,68633,046,0002,002,0002,277,376
59Mar 30, 2026 05:003,18957,964,24034,078,0001,002,0002,408,448
60Mar 30, 2026 05:063,19162,428,47933,098,0002,005,0002,277,376