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 17:06olliecrowolliecrowScore: 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 17:113,14862,278,54634,631,00002,396,160
2Mar 30, 2026 17:153,15159,755,90733,640,0001,019,0002,277,376
3Mar 30, 2026 17:143,15161,558,46634,663,00002,404,352
4Mar 30, 2026 17:133,15258,175,41234,670,00002,277,376
5Mar 30, 2026 17:163,15359,729,98333,660,0001,020,0002,392,064
6Mar 30, 2026 17:113,15362,244,95333,664,0001,020,0002,400,256
7Mar 30, 2026 17:103,15466,156,78734,695,00002,277,376
8Mar 30, 2026 17:093,15464,784,98433,706,000991,0002,404,352
9Mar 30, 2026 17:203,15563,017,39934,705,00002,277,376
10Mar 30, 2026 17:073,15563,778,78433,688,0001,020,0002,277,376
11Mar 30, 2026 17:083,15560,440,89234,707,00002,392,064
12Mar 30, 2026 17:143,15662,175,44434,713,00002,277,376
13Mar 30, 2026 17:103,15658,753,21734,713,00002,400,256
14Mar 30, 2026 17:193,15761,313,75733,703,0001,021,0002,404,352
15Mar 30, 2026 17:163,16057,092,92133,772,000993,0002,510,848
16Mar 30, 2026 17:103,16660,823,99234,824,00002,277,376
17Mar 30, 2026 17:123,16660,248,71234,830,00002,519,040
18Mar 30, 2026 17:073,16765,105,32132,851,0001,991,0002,277,376
19Mar 30, 2026 17:063,16760,554,77333,837,000995,0002,277,376
20Mar 30, 2026 17:143,16761,469,30032,848,0001,990,0002,408,448
21Mar 30, 2026 17:133,16759,782,13833,844,000995,0002,404,352
22Mar 30, 2026 17:093,16862,540,71533,851,000995,0002,277,376
23Mar 30, 2026 17:053,16860,262,44433,850,000995,0002,277,376
24Mar 30, 2026 17:103,16860,907,25234,847,00002,387,968
25Mar 30, 2026 17:153,16861,318,68532,861,0001,991,0002,277,376
26Mar 30, 2026 17:203,16860,349,19332,852,0001,991,0002,277,376
27Mar 30, 2026 17:143,16865,017,79832,855,0001,991,0002,277,376
28Mar 30, 2026 17:063,16863,642,47932,859,0001,991,0002,273,280
29Mar 30, 2026 17:183,16959,189,69833,838,0001,025,0002,400,256
30Mar 30, 2026 17:143,16962,891,35132,868,0001,992,0002,277,376
31Mar 30, 2026 17:183,16963,256,36834,854,00002,277,376
32Mar 30, 2026 17:123,16965,292,14232,864,0001,991,0002,392,064
33Mar 30, 2026 17:113,16963,108,66332,866,0001,991,0002,277,376
34Mar 30, 2026 17:063,16963,695,30933,860,000995,0002,404,352
35Mar 30, 2026 17:103,16958,893,42333,866,000996,0002,277,376
36Mar 30, 2026 17:103,16963,053,28933,867,000996,0002,400,256
37Mar 30, 2026 17:183,17058,960,05234,872,00002,392,064
38Mar 30, 2026 17:183,17066,611,34231,885,0002,989,0002,277,376
39Mar 30, 2026 17:193,17160,265,32933,887,000996,0002,277,376
40Mar 30, 2026 17:173,17158,152,28832,885,0001,993,0002,404,352
41Mar 30, 2026 17:063,17259,197,62834,896,00002,277,376
42Mar 30, 2026 17:173,17358,672,29032,910,0001,994,0002,400,256
43Mar 30, 2026 17:183,17362,058,20433,905,000997,0002,396,160
44Mar 30, 2026 17:053,17368,206,55032,913,0001,994,0002,277,376
45Mar 30, 2026 17:133,17457,943,96932,923,0001,995,0002,277,376
46Mar 30, 2026 17:093,17458,196,07633,916,000997,0002,277,376
47Mar 30, 2026 17:053,17558,772,98733,927,000997,0002,277,376
48Mar 30, 2026 17:163,17660,341,50832,939,0001,996,0002,277,376
49Mar 30, 2026 17:153,17656,798,92432,937,0001,996,0002,277,376
50Mar 30, 2026 17:173,17756,219,53132,955,0001,997,0002,277,376
51Mar 30, 2026 17:203,17859,581,66033,963,000998,0002,400,256
52Mar 30, 2026 17:073,17957,761,14533,968,000999,0002,273,280
53Mar 30, 2026 17:123,18056,995,78233,982,000999,0002,277,376
54Mar 30, 2026 17:083,18058,192,94133,981,000999,0002,400,256
55Mar 30, 2026 17:063,18059,669,63932,984,0001,999,0002,392,064
56Mar 30, 2026 17:193,18258,487,88233,004,0002,000,0002,404,352
57Mar 30, 2026 17:083,18557,423,93134,036,0001,001,0002,277,376
58Mar 30, 2026 17:063,18554,110,29034,032,0001,000,0002,277,376
59Mar 30, 2026 17:183,18757,981,55033,057,0002,003,0002,486,272
60Mar 30, 2026 17:143,19656,830,61434,151,0001,004,0002,277,376