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 12:00olliecrowolliecrowScore: 3,171Success
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 11:573,15159,564,76234,661,00002,404,352
2Mar 30, 2026 11:593,15367,081,38334,686,00002,510,848
3Mar 30, 2026 11:513,15365,229,06534,686,00002,396,160
4Mar 30, 2026 11:503,15360,318,88034,685,00002,404,352
5Mar 30, 2026 11:583,15465,445,53134,689,00002,277,376
6Mar 30, 2026 11:563,15459,623,62333,676,0001,020,0002,277,376
7Mar 30, 2026 11:523,15459,221,52933,676,0001,020,0002,396,160
8Mar 30, 2026 11:513,15562,277,98834,705,00002,392,064
9Mar 30, 2026 11:493,15760,398,57133,701,0001,021,0002,269,184
10Mar 30, 2026 12:003,15762,451,25533,735,000992,0002,277,376
11Mar 30, 2026 11:543,16460,335,53632,815,0001,988,0002,400,256
12Mar 30, 2026 11:583,16760,516,01932,846,0001,990,0002,396,160
13Mar 30, 2026 11:513,16765,639,00933,847,000995,0002,277,376
14Mar 30, 2026 11:493,16860,580,75733,848,000995,0002,510,848
15Mar 30, 2026 11:553,16859,373,17433,852,000995,0002,494,464
16Mar 30, 2026 11:583,16862,008,48734,848,00002,396,160
17Mar 30, 2026 11:543,16863,923,48033,857,000995,0002,273,280
18Mar 30, 2026 11:533,16864,240,32333,849,000995,0002,277,376
19Mar 30, 2026 11:493,16863,183,23332,857,0001,991,0002,396,160
20Mar 30, 2026 12:023,16864,091,13332,860,0001,991,0002,277,376
21Mar 30, 2026 12:023,16866,019,76233,855,000995,0002,277,376
22Mar 30, 2026 12:013,16860,420,01933,853,000995,0002,277,376
23Mar 30, 2026 11:533,16961,271,06632,870,0001,992,0002,277,376
24Mar 30, 2026 11:563,16961,981,87233,860,000995,0002,404,352
25Mar 30, 2026 11:583,16963,981,58232,863,0001,991,0002,277,376
26Mar 30, 2026 11:513,16963,916,63132,866,0001,991,0002,400,256
27Mar 30, 2026 11:523,16960,629,68733,867,000996,0002,400,256
28Mar 30, 2026 11:533,16961,897,83032,863,0001,991,0002,400,256
29Mar 30, 2026 11:553,17062,680,14232,873,0001,992,0002,277,376
30Mar 30, 2026 11:533,17063,639,31933,872,000996,0002,277,376
31Mar 30, 2026 11:513,17164,704,28932,887,0001,993,0002,277,376
32Mar 30, 2026 12:013,17164,243,46832,886,0001,993,0002,392,064
33Mar 30, 2026 12:013,17259,111,00033,898,000997,0002,400,256
34Mar 30, 2026 11:583,17255,552,62233,892,000996,0002,404,352
35Mar 30, 2026 11:593,17256,879,74432,899,0001,993,0002,277,376
36Mar 30, 2026 11:563,17262,060,55732,895,0001,993,0002,277,376
37Mar 30, 2026 11:563,17260,478,55832,901,0001,994,0002,277,376
38Mar 30, 2026 11:493,17357,588,78032,910,0001,994,0002,277,376
39Mar 30, 2026 11:573,17461,862,76932,916,0001,994,0002,277,376
40Mar 30, 2026 11:503,17464,492,85932,924,0001,995,0002,404,352
41Mar 30, 2026 11:563,17465,563,16332,918,0001,995,0002,396,160
42Mar 30, 2026 12:013,17558,204,87532,934,0001,996,0002,277,376
43Mar 30, 2026 11:583,17664,095,20432,935,0001,996,0002,396,160
44Mar 30, 2026 11:593,17661,377,00933,938,000998,0002,400,256
45Mar 30, 2026 12:013,17654,260,01133,934,000998,0002,273,280
46Mar 30, 2026 12:003,17856,518,16632,959,0001,997,0002,277,376
47Mar 30, 2026 11:573,17960,201,82832,973,0001,998,0002,277,376
48Mar 30, 2026 11:533,18054,218,36932,983,0001,998,0002,502,656
49Mar 30, 2026 11:553,18159,355,64232,996,0001,999,0002,392,064
50Mar 30, 2026 11:563,18158,500,23333,990,000999,0002,400,256
51Mar 30, 2026 11:533,18159,621,44533,991,000999,0002,392,064
52Mar 30, 2026 12:003,18156,429,62933,991,000999,0002,277,376
53Mar 30, 2026 12:023,18262,277,77034,004,0001,000,0002,392,064
54Mar 30, 2026 11:543,18259,581,41833,004,0002,000,0002,277,376
55Mar 30, 2026 12:013,18354,409,11134,015,0001,000,0002,277,376
56Mar 30, 2026 11:513,18370,128,72334,018,0001,000,0002,396,160
57Mar 30, 2026 11:493,18361,741,28434,016,0001,000,0002,392,064
58Mar 30, 2026 11:493,18556,729,09233,031,0002,001,0002,404,352
59Mar 30, 2026 11:523,19057,294,10634,090,0001,002,0002,400,256
60Mar 30, 2026 11:503,19157,992,55233,094,0002,005,0002,277,376