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 18:09olliecrowolliecrowScore: 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 18:143,15166,237,31833,643,0001,019,0002,277,376
2Mar 30, 2026 18:113,15364,105,65733,665,0001,020,0002,277,376
3Mar 30, 2026 18:113,15467,909,58333,678,0001,020,0002,277,376
4Mar 30, 2026 18:163,15560,000,92233,681,0001,020,0002,277,376
5Mar 30, 2026 18:003,15659,058,10333,693,0001,021,0002,293,760
6Mar 30, 2026 18:113,16463,249,21532,819,0001,989,0002,478,080
7Mar 30, 2026 18:023,16562,175,11332,828,0001,989,0002,400,256
8Mar 30, 2026 18:033,16564,447,56133,822,000994,0002,277,376
9Mar 30, 2026 18:103,16666,764,45833,828,000994,0002,277,376
10Mar 30, 2026 18:063,16660,758,26134,828,00002,277,376
11Mar 30, 2026 18:123,16763,132,84532,846,0001,990,0002,277,376
12Mar 30, 2026 18:033,16765,817,42533,842,000995,0002,277,376
13Mar 30, 2026 18:153,16762,423,56633,847,000995,0002,400,256
14Mar 30, 2026 18:163,16766,773,93432,848,0001,990,0002,404,352
15Mar 30, 2026 18:053,16762,839,55432,845,0001,990,0002,277,376
16Mar 30, 2026 18:123,16867,880,50033,858,000995,0002,277,376
17Mar 30, 2026 18:133,16859,950,04933,857,000995,0002,277,376
18Mar 30, 2026 18:073,16867,930,48233,852,000995,0002,396,160
19Mar 30, 2026 18:063,16861,816,75234,852,00002,277,376
20Mar 30, 2026 18:063,16858,468,28033,854,000995,0002,277,376
21Mar 30, 2026 18:003,16860,744,42232,854,0001,991,0002,387,968
22Mar 30, 2026 18:053,16859,226,29133,848,000995,0002,281,472
23Mar 30, 2026 18:143,16861,664,97333,857,000995,0002,277,376
24Mar 30, 2026 18:053,16860,952,83832,855,0001,991,0002,277,376
25Mar 30, 2026 18:013,16864,056,26732,860,0001,991,0002,510,848
26Mar 30, 2026 18:143,16864,184,09333,850,000995,0002,277,376
27Mar 30, 2026 18:093,16962,552,32833,865,000996,0002,400,256
28Mar 30, 2026 18:013,16961,120,83932,868,0001,992,0002,277,376
29Mar 30, 2026 18:023,16964,321,19232,871,0001,992,0002,277,376
30Mar 30, 2026 18:103,16959,171,83932,865,0001,991,0002,392,064
31Mar 30, 2026 18:153,16972,946,20934,864,00002,277,376
32Mar 30, 2026 18:033,16964,756,95432,868,0001,992,0002,277,376
33Mar 30, 2026 18:043,16958,839,41732,863,0001,991,0002,482,176
34Mar 30, 2026 18:053,16967,538,21833,863,000995,0002,400,256
35Mar 30, 2026 18:133,16964,660,51233,866,000996,0002,400,256
36Mar 30, 2026 18:083,16962,043,15932,872,0001,992,0002,396,160
37Mar 30, 2026 18:073,16961,173,07433,860,000995,0002,396,160
38Mar 30, 2026 18:133,17061,875,77533,873,000996,0002,392,064
39Mar 30, 2026 18:083,17060,642,54932,883,0001,992,0002,510,848
40Mar 30, 2026 18:043,17058,944,50732,876,0001,992,0002,400,256
41Mar 30, 2026 18:013,17162,929,19932,885,0001,993,0002,277,376
42Mar 30, 2026 18:073,17161,567,25633,886,000996,0002,277,376
43Mar 30, 2026 18:123,17263,219,05133,863,0001,026,0002,277,376
44Mar 30, 2026 18:053,17268,742,89133,896,000996,0002,396,160
45Mar 30, 2026 18:143,17261,019,12733,900,000997,0002,277,376
46Mar 30, 2026 18:023,17462,039,61733,913,000997,0002,277,376
47Mar 30, 2026 18:043,17660,616,70432,943,0001,996,0002,396,160
48Mar 30, 2026 18:163,17758,112,16832,953,0001,997,0002,277,376
49Mar 30, 2026 18:143,17856,273,75032,957,0001,997,0002,404,352
50Mar 30, 2026 18:153,17858,561,40832,957,0001,997,0002,396,160
51Mar 30, 2026 18:053,18058,083,49232,981,0001,998,0002,277,376
52Mar 30, 2026 18:093,18058,089,54832,980,0001,998,0002,396,160
53Mar 30, 2026 18:093,18255,247,23734,005,0001,000,0002,400,256
54Mar 30, 2026 18:003,18257,950,62333,999,000999,0002,277,376
55Mar 30, 2026 18:143,18358,425,21534,014,0001,000,0002,277,376
56Mar 30, 2026 18:083,18358,532,96334,009,0001,000,0002,277,376
57Mar 30, 2026 18:103,18357,904,26834,012,0001,000,0002,494,464