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 02:09olliecrowolliecrowScore: 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 02:123,15061,963,09033,628,0001,019,0002,400,256
2Mar 30, 2026 02:143,15062,540,06834,653,00002,392,064
3Mar 30, 2026 02:053,15261,083,22734,669,00002,277,376
4Mar 30, 2026 02:133,15264,207,61034,669,00002,396,160
5Mar 30, 2026 02:123,15365,036,75634,688,00002,277,376
6Mar 30, 2026 02:023,15464,207,84734,693,00002,277,376
7Mar 30, 2026 02:113,15559,487,57134,705,00002,277,376
8Mar 30, 2026 02:103,15559,648,14533,689,0001,020,0002,404,352
9Mar 30, 2026 02:103,15664,505,90633,697,0001,021,0002,400,256
10Mar 30, 2026 02:023,16361,226,00833,803,000994,0002,404,352
11Mar 30, 2026 02:143,16460,242,43633,809,000994,0002,400,256
12Mar 30, 2026 02:013,16662,017,83232,835,0001,990,0002,396,160
13Mar 30, 2026 02:113,16660,757,29932,838,0001,990,0002,277,376
14Mar 30, 2026 02:043,16660,503,17833,829,000994,0002,408,448
15Mar 30, 2026 02:093,16661,232,01933,835,000995,0002,277,376
16Mar 30, 2026 02:133,16758,188,49133,838,000995,0002,277,376
17Mar 30, 2026 02:113,16759,261,76932,844,0001,990,0002,400,256
18Mar 30, 2026 02:073,16763,454,65833,838,000995,0002,404,352
19Mar 30, 2026 02:143,16763,018,05432,849,0001,990,0002,486,272
20Mar 30, 2026 02:023,16769,532,58933,843,000995,0002,400,256
21Mar 30, 2026 02:013,16867,202,14932,853,0001,991,0002,277,376
22Mar 30, 2026 02:073,16862,533,71434,843,00002,277,376
23Mar 30, 2026 02:133,16865,571,34632,853,0001,991,0002,277,376
24Mar 30, 2026 02:023,16861,640,24233,857,000995,0002,400,256
25Mar 30, 2026 02:113,16864,585,84732,857,0001,991,0002,277,376
26Mar 30, 2026 02:053,16865,301,71533,858,000995,0002,396,160
27Mar 30, 2026 02:103,16861,281,11633,824,0001,024,0002,392,064
28Mar 30, 2026 02:043,16969,056,94332,864,0001,991,0002,400,256
29Mar 30, 2026 02:133,16962,075,35432,871,0001,992,0002,277,376
30Mar 30, 2026 02:033,16959,861,65932,870,0001,992,0002,277,376
31Mar 30, 2026 02:043,16965,259,25533,863,000995,0002,277,376
32Mar 30, 2026 02:093,17068,535,37432,874,0001,992,0002,396,160
33Mar 30, 2026 02:103,17061,127,20033,870,000996,0002,277,376
34Mar 30, 2026 02:083,17062,937,26533,870,000996,0002,277,376
35Mar 30, 2026 02:043,17060,354,06232,873,0001,992,0002,400,256
36Mar 30, 2026 02:103,17065,988,17132,874,0001,992,0002,277,376
37Mar 30, 2026 02:143,17059,555,82333,878,000996,0002,277,376
38Mar 30, 2026 02:093,17061,033,74532,876,0001,992,0002,277,376
39Mar 30, 2026 02:043,17158,526,71433,886,000996,0002,404,352
40Mar 30, 2026 02:113,17365,830,64232,907,0001,994,0002,396,160
41Mar 30, 2026 02:073,17362,729,21332,904,0001,994,0002,404,352
42Mar 30, 2026 02:033,17460,892,71933,917,000997,0002,277,376
43Mar 30, 2026 02:043,17456,108,26133,922,000997,0002,519,040
44Mar 30, 2026 02:123,17458,471,49232,917,0001,995,0002,277,376
45Mar 30, 2026 02:053,17466,006,38332,917,0001,995,0002,277,376
46Mar 30, 2026 02:033,17561,981,69332,932,0001,995,0002,277,376
47Mar 30, 2026 02:143,17560,561,46533,925,000997,0002,277,376
48Mar 30, 2026 02:023,17556,886,43233,927,000997,0002,277,376
49Mar 30, 2026 02:133,17556,756,75533,924,000997,0002,400,256
50Mar 30, 2026 02:023,17660,683,20133,940,000998,0002,277,376
51Mar 30, 2026 02:093,17762,467,75733,954,000998,0002,404,352
52Mar 30, 2026 02:113,17867,514,44133,957,000998,0002,277,376
53Mar 30, 2026 02:133,18058,054,04832,980,0001,998,0002,277,376
54Mar 30, 2026 02:013,18158,060,37232,997,0001,999,0002,277,376
55Mar 30, 2026 02:143,18365,726,39433,010,0002,000,0002,277,376
56Mar 30, 2026 02:083,18559,620,65434,033,0001,000,0002,519,040
57Mar 30, 2026 02:093,18662,229,07034,047,0001,001,0002,277,376
58Mar 30, 2026 02:083,18759,098,17233,054,0002,003,0002,277,376
59Mar 30, 2026 02:103,18761,045,81634,054,0001,001,0002,396,160
60Mar 30, 2026 02:093,19461,129,47433,125,0002,007,0002,277,376