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 03:08olliecrowolliecrowScore: 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 03:103,15061,141,26733,632,0001,019,0002,277,376
2Mar 30, 2026 03:073,15162,422,68333,639,0001,019,0002,281,472
3Mar 30, 2026 03:093,15157,253,82633,647,0001,019,0002,404,352
4Mar 30, 2026 03:083,15260,221,85833,653,0001,019,0002,277,376
5Mar 30, 2026 03:103,15360,713,55733,660,0001,020,0002,400,256
6Mar 30, 2026 03:103,15362,985,05334,687,00002,387,968
7Mar 30, 2026 03:093,15458,766,56933,679,0001,020,0002,277,376
8Mar 30, 2026 03:063,15660,890,98332,731,0001,983,0002,277,376
9Mar 30, 2026 03:123,16561,845,22832,829,0001,989,0002,277,376
10Mar 30, 2026 03:053,16668,370,17332,838,0001,990,0002,510,848
11Mar 30, 2026 03:043,16664,934,03632,841,0001,990,0002,404,352
12Mar 30, 2026 03:023,16661,993,21632,832,0001,989,0002,277,376
13Mar 30, 2026 03:113,16764,130,61132,847,0001,990,0002,277,376
14Mar 30, 2026 03:033,16759,709,20933,845,000995,0002,277,376
15Mar 30, 2026 03:063,16762,253,39732,851,0001,990,0002,277,376
16Mar 30, 2026 03:113,16761,235,33333,846,000995,0002,277,376
17Mar 30, 2026 03:043,16762,594,11132,846,0001,990,0002,396,160
18Mar 30, 2026 03:063,16768,785,24033,839,000995,0002,277,376
19Mar 30, 2026 03:003,16766,487,45132,847,0001,990,0002,277,376
20Mar 30, 2026 03:093,16862,963,34832,852,0001,991,0002,277,376
21Mar 30, 2026 03:073,16859,543,57033,854,000995,0002,396,160
22Mar 30, 2026 03:063,16865,405,49334,843,00002,400,256
23Mar 30, 2026 03:053,16858,218,29133,853,000995,0002,408,448
24Mar 30, 2026 03:003,16864,550,99932,859,0001,991,0002,277,376
25Mar 30, 2026 03:023,16862,360,20032,856,0001,991,0002,482,176
26Mar 30, 2026 03:043,16862,922,90532,858,0001,991,0002,400,256
27Mar 30, 2026 03:093,16963,318,44033,860,000995,0002,400,256
28Mar 30, 2026 03:103,16959,557,08432,868,0001,992,0002,277,376
29Mar 30, 2026 03:003,16959,929,07032,870,0001,992,0002,277,376
30Mar 30, 2026 03:013,16961,880,66733,859,000995,0002,273,280
31Mar 30, 2026 03:073,16962,611,01233,862,000995,0002,277,376
32Mar 30, 2026 03:073,16960,447,94432,872,0001,992,0002,277,376
33Mar 30, 2026 03:003,16962,126,89932,871,0001,992,0002,277,376
34Mar 30, 2026 03:123,17061,651,36433,871,000996,0002,277,376
35Mar 30, 2026 03:073,17061,624,64833,873,000996,0002,396,160
36Mar 30, 2026 03:043,17163,731,87832,887,0001,993,0002,277,376
37Mar 30, 2026 03:023,17260,104,62733,871,0001,026,0002,277,376
38Mar 30, 2026 03:023,17265,628,62632,895,0001,993,0002,392,064
39Mar 30, 2026 03:033,17261,703,45432,895,0001,993,0002,277,376
40Mar 30, 2026 03:103,17358,859,12433,908,000997,0002,400,256
41Mar 30, 2026 03:093,17359,127,45733,910,000997,0002,392,064
42Mar 30, 2026 03:073,17459,997,72932,916,0001,994,0002,400,256
43Mar 30, 2026 03:063,17457,245,17433,920,000997,0002,387,968
44Mar 30, 2026 03:043,17457,218,30632,922,0001,995,0002,519,040
45Mar 30, 2026 03:053,17656,259,98733,936,000998,0002,277,376
46Mar 30, 2026 03:013,17658,473,84933,935,000998,0002,277,376
47Mar 30, 2026 03:093,17657,947,14832,942,0001,996,0002,277,376
48Mar 30, 2026 03:123,17863,072,08032,962,0001,997,0002,277,376
49Mar 30, 2026 03:013,17962,547,08332,975,0001,998,0002,404,352
50Mar 30, 2026 03:083,18258,533,98434,006,0001,000,0002,277,376
51Mar 30, 2026 03:023,18257,608,51633,002,0002,000,0002,494,464
52Mar 30, 2026 03:083,18357,875,79533,008,0002,000,0002,404,352
53Mar 30, 2026 03:103,18456,509,44634,027,0001,000,0002,277,376
54Mar 30, 2026 03:033,18460,190,56933,025,0002,001,0002,404,352
55Mar 30, 2026 03:063,18462,333,94934,029,0001,000,0002,277,376
56Mar 30, 2026 03:043,18459,555,52533,018,0002,001,0002,404,352
57Mar 30, 2026 03:023,18656,608,79735,048,00002,277,376
58Mar 30, 2026 03:113,18664,445,54934,050,0001,001,0002,392,064
59Mar 30, 2026 03:003,18961,897,02333,078,0002,004,0002,277,376
60Mar 30, 2026 03:003,19362,040,93534,119,0001,003,0002,400,256