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 01:50olliecrowolliecrowScore: 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 01:453,14662,623,98633,590,0001,017,0002,277,376
2Mar 30, 2026 01:543,14664,339,37733,591,0001,017,0002,404,352
3Mar 30, 2026 01:493,14765,769,85734,619,00002,281,472
4Mar 30, 2026 01:493,14965,242,98333,617,0001,018,0002,404,352
5Mar 30, 2026 01:463,14965,633,12634,643,00002,396,160
6Mar 30, 2026 01:463,15359,970,42533,661,0001,020,0002,277,376
7Mar 30, 2026 01:433,15557,348,31233,687,0001,020,0002,277,376
8Mar 30, 2026 01:513,15568,742,25233,688,0001,020,0002,277,376
9Mar 30, 2026 01:553,16559,376,74233,820,000994,0002,465,792
10Mar 30, 2026 01:453,16658,304,48634,826,00002,277,376
11Mar 30, 2026 01:533,16661,325,41333,833,000995,0002,392,064
12Mar 30, 2026 01:513,16660,652,78232,832,0001,989,0002,277,376
13Mar 30, 2026 01:523,16764,703,51832,847,0001,990,0002,396,160
14Mar 30, 2026 01:513,16859,907,84033,850,000995,0002,277,376
15Mar 30, 2026 01:553,16864,157,00333,849,000995,0002,408,448
16Mar 30, 2026 01:483,16860,847,91232,861,0001,991,0002,277,376
17Mar 30, 2026 01:503,16866,434,92333,858,000995,0002,400,256
18Mar 30, 2026 01:443,16865,985,51232,855,0001,991,0002,277,376
19Mar 30, 2026 01:513,16860,887,55832,860,0001,991,0002,277,376
20Mar 30, 2026 01:513,16870,780,75533,849,000995,0002,404,352
21Mar 30, 2026 01:463,16862,028,31733,851,000995,0002,277,376
22Mar 30, 2026 01:523,16863,944,10233,852,000995,0002,396,160
23Mar 30, 2026 01:453,16860,878,56532,861,0001,991,0002,277,376
24Mar 30, 2026 01:533,16964,197,53132,864,0001,991,0002,277,376
25Mar 30, 2026 01:543,16962,925,19432,866,0001,991,0002,277,376
26Mar 30, 2026 01:533,16963,043,32734,855,00002,277,376
27Mar 30, 2026 01:503,16962,324,88632,868,0001,992,0002,396,160
28Mar 30, 2026 01:493,16961,200,50032,868,0001,992,0002,387,968
29Mar 30, 2026 01:433,16966,606,31432,866,0001,991,0002,277,376
30Mar 30, 2026 01:463,16959,805,96132,871,0001,992,0002,392,064
31Mar 30, 2026 01:473,16964,349,79432,870,0001,992,0002,392,064
32Mar 30, 2026 01:543,17065,635,34833,869,000996,0002,277,376
33Mar 30, 2026 01:453,17061,141,15533,874,000996,0002,392,064
34Mar 30, 2026 01:513,17059,658,31633,869,000996,0002,396,160
35Mar 30, 2026 01:433,17157,524,40433,886,000996,0002,277,376
36Mar 30, 2026 01:543,17160,646,17034,884,00002,396,160
37Mar 30, 2026 01:543,17257,863,27633,892,000996,0002,277,376
38Mar 30, 2026 01:483,17358,403,51732,907,0001,994,0002,392,064
39Mar 30, 2026 01:443,17357,738,35433,909,000997,0002,277,376
40Mar 30, 2026 01:483,17460,547,85833,918,000997,0002,277,376
41Mar 30, 2026 01:463,17463,082,23033,920,000997,0002,392,064
42Mar 30, 2026 01:443,17558,221,51532,931,0001,995,0002,277,376
43Mar 30, 2026 01:453,17661,924,44932,939,0001,996,0002,396,160
44Mar 30, 2026 01:523,17759,579,97933,944,000998,0002,408,448
45Mar 30, 2026 01:473,17863,043,64433,962,000998,0002,277,376
46Mar 30, 2026 01:523,17858,945,21233,959,000998,0002,277,376
47Mar 30, 2026 01:553,17958,557,77132,972,0001,998,0002,404,352
48Mar 30, 2026 01:523,17956,456,14032,975,0001,998,0002,277,376
49Mar 30, 2026 01:463,18055,612,29533,981,000999,0002,277,376
50Mar 30, 2026 01:503,18063,961,45132,979,0001,998,0002,404,352
51Mar 30, 2026 01:503,18260,244,86133,005,0002,000,0002,277,376
52Mar 30, 2026 01:483,18256,599,41633,007,0002,000,0002,277,376
53Mar 30, 2026 01:503,18257,584,78734,005,0001,000,0002,510,848
54Mar 30, 2026 01:483,18261,477,20532,998,0001,999,0002,277,376
55Mar 30, 2026 01:543,18356,770,59234,018,0001,000,0002,277,376
56Mar 30, 2026 01:523,18556,719,99333,032,0002,001,0002,277,376
57Mar 30, 2026 01:483,18660,203,42933,044,0002,002,0002,400,256
58Mar 30, 2026 01:473,18864,044,25133,069,0002,004,0002,277,376
59Mar 30, 2026 01:453,18957,639,53433,075,0002,004,0002,277,376
60Mar 30, 2026 01:503,18961,787,04234,073,0001,002,0002,277,376