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:16olliecrowolliecrowScore: 3,170Success
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 12:213,14963,091,72434,641,00002,277,376
2Mar 30, 2026 12:223,15161,350,45834,665,00002,277,376
3Mar 30, 2026 12:173,15164,200,19934,656,00002,400,256
4Mar 30, 2026 12:213,15259,864,85534,668,00002,277,376
5Mar 30, 2026 12:233,15362,092,37933,660,0001,020,0002,277,376
6Mar 30, 2026 12:233,15660,605,90334,718,00002,277,376
7Mar 30, 2026 12:273,15660,305,02733,698,0001,021,0002,396,160
8Mar 30, 2026 12:263,16662,097,31532,836,0001,990,0002,400,256
9Mar 30, 2026 12:223,16763,698,30533,846,000995,0002,277,376
10Mar 30, 2026 12:253,16761,095,22532,848,0001,990,0002,277,376
11Mar 30, 2026 12:203,16760,007,47832,844,0001,990,0002,277,376
12Mar 30, 2026 12:263,16763,608,53933,843,000995,0002,400,256
13Mar 30, 2026 12:243,16760,798,90032,845,0001,990,0002,277,376
14Mar 30, 2026 12:263,16860,760,10633,850,000995,0002,396,160
15Mar 30, 2026 12:233,16865,933,05533,856,000995,0002,277,376
16Mar 30, 2026 12:263,16864,597,78233,853,000995,0002,273,280
17Mar 30, 2026 12:193,16861,143,90933,854,000995,0002,277,376
18Mar 30, 2026 12:283,16863,963,64133,851,000995,0002,277,376
19Mar 30, 2026 12:253,16859,640,15233,851,000995,0002,277,376
20Mar 30, 2026 12:283,16859,976,26532,854,0001,991,0002,277,376
21Mar 30, 2026 12:273,16860,773,71932,856,0001,991,0002,277,376
22Mar 30, 2026 12:253,16859,548,48132,853,0001,991,0002,277,376
23Mar 30, 2026 12:273,16861,062,20834,849,00002,277,376
24Mar 30, 2026 12:203,16866,238,01132,858,0001,991,0002,277,376
25Mar 30, 2026 12:193,16959,777,61333,866,000996,0002,519,040
26Mar 30, 2026 12:213,16963,033,75433,866,000996,0002,277,376
27Mar 30, 2026 12:173,16959,676,27432,871,0001,992,0002,277,376
28Mar 30, 2026 12:193,16959,915,26033,859,000995,0002,277,376
29Mar 30, 2026 12:233,16961,514,72033,862,000995,0002,277,376
30Mar 30, 2026 12:233,17065,365,93132,875,0001,992,0002,277,376
31Mar 30, 2026 12:213,17065,115,01533,872,000996,0002,396,160
32Mar 30, 2026 12:173,17061,045,61934,870,00002,396,160
33Mar 30, 2026 12:263,17066,829,76632,880,0001,992,0002,277,376
34Mar 30, 2026 12:153,17154,181,04132,892,0001,993,0002,277,376
35Mar 30, 2026 12:223,17154,810,40632,887,0001,993,0002,523,136
36Mar 30, 2026 12:233,17260,576,50233,871,0001,026,0002,273,280
37Mar 30, 2026 12:173,17252,376,00932,903,0001,994,0002,490,368
38Mar 30, 2026 12:143,17265,070,43434,895,00002,392,064
39Mar 30, 2026 12:213,17461,575,09833,920,000997,0002,277,376
40Mar 30, 2026 12:193,17457,819,58632,920,0001,995,0002,277,376
41Mar 30, 2026 12:263,17561,653,53232,933,0001,995,0002,277,376
42Mar 30, 2026 12:143,17556,065,29033,925,000997,0002,277,376
43Mar 30, 2026 12:243,17656,837,06232,937,0001,996,0002,400,256
44Mar 30, 2026 12:143,17655,508,07832,945,0001,996,0002,392,064
45Mar 30, 2026 12:203,17654,620,44032,944,0001,996,0002,392,064
46Mar 30, 2026 12:213,17660,919,85333,939,000998,0002,392,064
47Mar 30, 2026 12:193,17758,836,97432,946,0001,996,0002,396,160
48Mar 30, 2026 12:183,17758,305,09433,944,000998,0002,404,352
49Mar 30, 2026 12:183,17759,041,58232,949,0001,996,0002,387,968
50Mar 30, 2026 12:173,18158,686,77332,996,0001,999,0002,404,352
51Mar 30, 2026 12:173,18259,407,55734,003,0001,000,0002,277,376
52Mar 30, 2026 12:163,18262,547,30133,005,0002,000,0002,392,064
53Mar 30, 2026 12:243,18260,132,36833,002,0002,000,0002,277,376
54Mar 30, 2026 12:193,18356,907,86834,015,0001,000,0002,277,376
55Mar 30, 2026 12:153,18459,492,31733,025,0002,001,0002,277,376
56Mar 30, 2026 12:183,18557,901,13633,033,0002,002,0002,277,376
57Mar 30, 2026 12:163,18556,708,78834,039,0001,001,0002,400,256
58Mar 30, 2026 12:153,18758,819,75533,050,0002,003,0002,396,160
59Mar 30, 2026 12:163,18861,929,69534,071,0001,002,0002,494,464
60Mar 30, 2026 12:283,18956,857,05033,073,0002,004,0002,387,968