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 11:07olliecrowolliecrowScore: 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 11:053,14862,031,57734,623,00002,396,160
2Mar 30, 2026 10:553,14862,163,57733,615,0001,018,0002,277,376
3Mar 30, 2026 11:023,14959,251,66733,622,0001,018,0002,396,160
4Mar 30, 2026 10:593,15062,435,71833,627,0001,019,0002,265,088
5Mar 30, 2026 10:543,15164,027,31133,645,0001,019,0002,404,352
6Mar 30, 2026 10:543,15264,967,55334,670,00002,392,064
7Mar 30, 2026 10:563,15361,323,23733,662,0001,020,0002,408,448
8Mar 30, 2026 11:123,15361,401,14333,661,0001,020,0002,273,280
9Mar 30, 2026 11:123,15462,264,03534,694,00002,400,256
10Mar 30, 2026 11:053,15666,653,07734,712,00002,277,376
11Mar 30, 2026 11:073,16357,844,28933,804,000994,0002,277,376
12Mar 30, 2026 11:093,16558,274,61632,825,0001,989,0002,473,984
13Mar 30, 2026 11:083,16562,076,21533,819,000994,0002,396,160
14Mar 30, 2026 10:563,16562,535,49032,821,0001,989,0002,277,376
15Mar 30, 2026 10:553,16658,470,66832,835,0001,990,0002,277,376
16Mar 30, 2026 11:113,16766,760,13732,844,0001,990,0002,277,376
17Mar 30, 2026 11:093,16765,805,05933,843,000995,0002,277,376
18Mar 30, 2026 11:093,16871,469,78634,852,00002,396,160
19Mar 30, 2026 10:543,16865,475,25032,857,0001,991,0002,277,376
20Mar 30, 2026 11:103,16860,044,10133,856,000995,0002,510,848
21Mar 30, 2026 11:033,16962,306,68032,866,0001,991,0002,408,448
22Mar 30, 2026 10:563,16964,480,83433,860,000995,0002,277,376
23Mar 30, 2026 11:093,16960,050,06633,863,000995,0002,404,352
24Mar 30, 2026 10:563,16960,330,34734,857,00002,277,376
25Mar 30, 2026 10:563,16960,768,61932,868,0001,992,0002,277,376
26Mar 30, 2026 11:103,16965,671,10033,868,000996,0002,277,376
27Mar 30, 2026 11:113,16955,433,42133,866,000996,0002,277,376
28Mar 30, 2026 11:083,16964,687,25532,867,0001,991,0002,392,064
29Mar 30, 2026 10:563,16962,025,09734,864,00002,277,376
30Mar 30, 2026 11:083,16960,656,81034,864,00002,277,376
31Mar 30, 2026 11:113,17059,466,74032,874,0001,992,0002,277,376
32Mar 30, 2026 11:093,17060,631,91533,870,000996,0002,277,376
33Mar 30, 2026 10:593,17159,484,04633,881,000996,0002,277,376
34Mar 30, 2026 11:083,17163,256,70333,884,000996,0002,396,160
35Mar 30, 2026 11:033,17159,275,24633,887,000996,0002,277,376
36Mar 30, 2026 11:053,17261,428,09532,899,0001,993,0002,396,160
37Mar 30, 2026 11:003,17259,311,52432,896,0001,993,0002,523,136
38Mar 30, 2026 11:093,17356,561,36133,908,000997,0002,404,352
39Mar 30, 2026 10:553,17358,751,65232,912,0001,994,0002,277,376
40Mar 30, 2026 11:063,17461,943,14232,916,0001,994,0002,277,376
41Mar 30, 2026 11:123,17459,302,70332,920,0001,995,0002,277,376
42Mar 30, 2026 11:123,17459,694,10432,920,0001,995,0002,281,472
43Mar 30, 2026 11:003,17461,915,49232,917,0001,995,0002,400,256
44Mar 30, 2026 11:003,17560,569,18832,934,0001,996,0002,396,160
45Mar 30, 2026 11:083,17659,474,13432,935,0001,996,0002,273,280
46Mar 30, 2026 11:083,17758,827,94633,951,000998,0002,277,376
47Mar 30, 2026 11:123,17758,239,43833,945,000998,0002,277,376
48Mar 30, 2026 11:023,17759,022,22132,950,0001,997,0002,277,376
49Mar 30, 2026 11:033,17758,392,27132,952,0001,997,0002,277,376
50Mar 30, 2026 11:063,17859,292,56632,962,0001,997,0002,392,064
51Mar 30, 2026 10:543,18164,063,68932,988,0001,999,0002,277,376
52Mar 30, 2026 11:063,18259,737,57533,998,000999,0002,396,160
53Mar 30, 2026 11:073,18259,423,11934,004,0001,000,0002,277,376
54Mar 30, 2026 11:073,18261,933,11434,005,0001,000,0002,277,376
55Mar 30, 2026 10:593,18358,334,47534,015,0001,000,0002,277,376
56Mar 30, 2026 11:023,18459,148,85834,024,0001,000,0002,277,376
57Mar 30, 2026 11:103,18459,839,43634,028,0001,000,0002,277,376
58Mar 30, 2026 11:123,18468,318,29734,029,0001,000,0002,404,352
59Mar 30, 2026 10:543,18557,326,87434,030,0001,000,0002,387,968
60Mar 30, 2026 10:543,18957,676,43933,080,0002,004,0002,400,256