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 21, 2026 14:06Dominique GarmierDominique GarmierScore: 7,096Success
Source Code

Source code access is restricted. Log in to request access.

Challenge History

No challenges yet.

Run Statistics
#DateScoreWall TimeCPU UserCPU SystemMemoryError
1Mar 20, 2026 01:307,076101,701,16277,839,00002,506,752
2Mar 20, 2026 01:157,077112,032,65475,856,0001,996,0002,502,656
3Mar 20, 2026 01:137,079102,770,65375,869,0001,996,0002,502,656
4Mar 20, 2026 01:177,082107,279,32774,904,0002,996,0002,502,656
5Mar 20, 2026 01:137,085104,353,08675,935,0001,998,0002,494,464
6Mar 20, 2026 01:177,085106,543,65875,937,0001,998,0002,330,624
7Mar 20, 2026 01:177,085101,444,52476,935,000999,0002,326,528
8Mar 20, 2026 01:137,086104,000,29675,944,0001,998,0002,322,432
9Mar 20, 2026 01:137,086107,536,69775,952,0001,998,0002,326,528
10Mar 20, 2026 01:387,088108,460,45376,967,000999,0002,330,624
11Mar 20, 2026 01:177,088106,079,57775,973,0001,999,0002,494,464
12Mar 20, 2026 01:307,089109,552,08175,977,0001,999,0002,326,528
13Mar 20, 2026 01:157,089103,297,71975,983,0001,999,0002,502,656
14Mar 20, 2026 01:417,089105,722,47076,983,000999,0002,514,944
15Mar 20, 2026 01:347,090103,752,12676,989,000999,0002,326,528
16Mar 20, 2026 01:417,090107,510,30875,990,0001,999,0002,330,624
17Mar 20, 2026 01:157,090105,704,91675,993,0001,999,0002,510,848
18Mar 20, 2026 01:137,091107,432,56075,997,0001,999,0002,322,432
19Mar 20, 2026 01:217,091107,288,15175,998,0001,999,0002,502,656
20Mar 20, 2026 01:247,092105,111,85677,017,0001,000,0002,498,560
21Mar 20, 2026 01:157,093108,959,18677,022,0001,000,0002,498,560
22Mar 20, 2026 01:277,094108,293,24077,033,0001,000,0002,502,656
23Mar 20, 2026 01:387,094107,090,11576,038,0002,001,0002,330,624
24Mar 20, 2026 01:157,095102,769,49476,040,0002,001,0002,498,560
25Mar 20, 2026 01:157,095107,067,13376,039,0002,001,0002,330,624
26Mar 20, 2026 01:247,095108,775,58076,039,0002,001,0002,506,752
27Mar 20, 2026 01:177,095105,077,48777,043,0001,000,0002,506,752
28Mar 21, 2026 14:067,096107,901,89276,057,0002,001,0002,502,656
29Mar 20, 2026 01:217,096112,643,69276,056,0002,001,0002,506,752
30Mar 20, 2026 01:157,096104,694,98376,058,0002,001,0002,502,656
31Mar 20, 2026 01:177,097101,791,72376,071,0002,001,0002,347,008
32Mar 20, 2026 01:157,097109,410,52976,061,0002,001,0002,326,528
33Mar 20, 2026 01:217,101104,856,70976,110,0002,002,0002,326,528
34Mar 20, 2026 01:137,101104,316,77677,108,0001,001,0002,326,528
35Mar 20, 2026 01:137,102108,167,20576,118,0002,003,0002,330,624
36Mar 20, 2026 01:157,102105,065,71976,121,0002,003,0002,498,560
37Mar 20, 2026 01:387,103102,876,75676,127,0002,003,0002,506,752
38Mar 20, 2026 01:347,103106,437,30476,131,0002,003,0002,494,464
39Mar 20, 2026 01:417,104105,354,51577,139,0001,001,0002,490,368
40Mar 20, 2026 01:157,105104,833,05876,151,0002,003,0002,498,560
41Mar 20, 2026 01:277,106102,668,21776,161,0002,004,0002,330,624
42Mar 20, 2026 01:177,107106,594,09876,172,0002,004,0002,506,752
43Mar 20, 2026 01:247,107107,550,09477,171,0001,002,0002,293,760
44Mar 20, 2026 01:157,107102,471,05676,170,0002,004,0002,334,720
45Mar 20, 2026 01:347,109105,466,28176,196,0002,005,0002,330,624
46Mar 20, 2026 01:277,112106,322,28276,227,0002,005,0002,498,560
47Mar 20, 2026 01:307,113109,430,38377,235,0001,003,0002,326,528
48Mar 21, 2026 14:067,113106,703,37376,233,0002,006,0002,510,848
49Mar 20, 2026 01:137,114106,388,99276,253,0002,006,0002,498,560
50Mar 20, 2026 01:177,115107,635,28877,266,0001,003,0002,322,432
51Mar 21, 2026 14:067,127109,815,58977,393,0001,005,0002,326,528
52Mar 20, 2026 01:137,133110,977,49376,450,0002,011,0002,326,528
53Mar 20, 2026 01:157,136107,286,01177,486,0001,006,0002,498,560
54Mar 20, 2026 01:177,145107,323,31077,583,0001,007,0002,330,624