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 20, 2026 09:14Dominique GarmierDominique GarmierScore: 7,100Success
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 08:087,074106,083,63976,822,000997,0002,490,368
2Mar 20, 2026 09:007,077104,536,64175,848,0001,996,0002,334,720
3Mar 20, 2026 08:087,079104,067,10575,878,0001,996,0002,326,528
4Mar 20, 2026 08:317,080106,887,66275,882,0001,996,0002,326,528
5Mar 20, 2026 08:027,081106,460,83375,899,0001,997,0002,510,848
6Mar 20, 2026 09:117,082109,193,87976,904,000998,0002,502,656
7Mar 20, 2026 08:027,082109,335,21275,904,0001,997,0002,502,656
8Mar 20, 2026 09:007,082109,062,53276,901,000998,0002,498,560
9Mar 20, 2026 08:027,084102,762,72275,924,0001,998,0002,326,528
10Mar 20, 2026 08:317,084103,351,03676,925,000999,0002,326,528
11Mar 20, 2026 09:007,085108,680,15975,934,0001,998,0002,322,432
12Mar 20, 2026 08:317,085106,214,26975,938,0001,998,0002,494,464
13Mar 20, 2026 08:017,087101,526,33774,956,0002,998,0002,326,528
14Mar 20, 2026 09:117,087104,687,75374,957,0002,998,0002,293,760
15Mar 20, 2026 08:027,088105,629,59675,971,0001,999,0002,322,432
16Mar 20, 2026 08:487,088107,691,98575,966,0001,999,0002,330,624
17Mar 20, 2026 09:117,089108,399,93176,975,000999,0002,502,656
18Mar 20, 2026 08:247,089104,781,62475,985,0001,999,0002,498,560
19Mar 20, 2026 08:527,090105,802,06276,996,000999,0002,330,624
20Mar 20, 2026 09:117,091104,323,18875,999,0001,999,0002,330,624
21Mar 20, 2026 09:117,091106,661,75876,000,0002,000,0002,506,752
22Mar 20, 2026 08:087,091108,349,81375,997,0001,999,0002,498,560
23Mar 20, 2026 09:187,091105,852,76876,997,000999,0002,293,760
24Mar 20, 2026 08:317,092109,587,50676,015,0002,000,0002,326,528
25Mar 20, 2026 09:187,093103,577,19277,020,0001,000,0002,326,528
26Mar 20, 2026 09:147,095104,256,76276,042,0002,001,0002,330,624
27Mar 20, 2026 08:027,095107,370,48177,040,0001,000,0002,502,656
28Mar 20, 2026 08:087,098106,901,86776,075,0002,001,0002,326,528
29Mar 20, 2026 08:087,098105,356,72176,080,0002,002,0002,334,720
30Mar 20, 2026 08:487,098102,852,67976,081,0002,002,0002,330,624
31Mar 20, 2026 08:087,098106,117,47776,081,0002,002,0002,330,624
32Mar 20, 2026 08:167,099107,483,29076,086,0002,002,0002,330,624
33Mar 20, 2026 09:007,100111,668,54377,103,0001,001,0002,494,464
34Mar 20, 2026 09:117,100110,042,53277,103,0001,001,0002,342,912
35Mar 20, 2026 08:317,100110,761,13176,098,0002,002,0002,326,528
36Mar 20, 2026 08:167,101102,371,53176,110,0002,002,0002,498,560
37Mar 20, 2026 08:317,101104,224,83376,110,0002,002,0002,498,560
38Mar 20, 2026 09:067,102102,214,74777,118,0001,001,0002,330,624
39Mar 20, 2026 08:087,102100,240,45476,118,0002,003,0002,494,464
40Mar 20, 2026 08:317,103101,589,20776,126,0002,003,0002,498,560
41Mar 20, 2026 08:247,103106,470,47876,133,0002,003,0002,330,624
42Mar 20, 2026 08:167,104103,794,33176,145,0002,003,0002,330,624
43Mar 20, 2026 08:527,104105,522,34076,142,0002,003,0002,330,624
44Mar 20, 2026 09:067,105107,050,63276,156,0002,004,0002,330,624
45Mar 20, 2026 08:027,105114,681,13976,150,0002,003,0002,506,752
46Mar 20, 2026 08:317,105105,787,73176,153,0002,004,0002,334,720
47Mar 20, 2026 08:087,106102,020,20376,163,0002,004,0002,347,008
48Mar 20, 2026 09:007,106105,360,61376,162,0002,004,0002,334,720
49Mar 20, 2026 09:117,106102,608,18276,163,0002,004,0002,502,656
50Mar 20, 2026 08:087,10699,696,49977,168,0001,002,0002,326,528
51Mar 20, 2026 09:007,108107,127,52776,183,0002,004,0002,494,464
52Mar 20, 2026 08:487,108109,296,31976,179,0002,004,0002,330,624
53Mar 20, 2026 08:027,108108,590,50676,183,0002,004,0002,486,272
54Mar 20, 2026 08:027,108108,092,05276,183,0002,004,0002,322,432
55Mar 20, 2026 08:247,109110,993,50877,196,0001,002,0002,498,560
56Mar 20, 2026 09:117,109106,526,39076,195,0002,005,0002,330,624
57Mar 20, 2026 09:187,111103,943,00276,212,0002,005,0002,498,560
58Mar 20, 2026 08:017,111111,399,19076,220,0002,005,0002,498,560
59Mar 20, 2026 08:527,113104,508,23576,237,0002,006,0002,330,624
60Mar 20, 2026 09:147,113105,689,10276,237,0002,006,0002,326,528
61Mar 20, 2026 09:117,115107,447,75576,256,0002,006,0002,326,528
62Mar 20, 2026 09:007,118108,612,59477,290,0001,003,0002,330,624
63Mar 20, 2026 09:007,119107,344,05576,302,0002,007,0002,326,528
64Mar 20, 2026 08:317,119104,836,96676,304,0002,008,0002,498,560
65Mar 20, 2026 09:067,122101,330,51076,329,0002,008,0002,494,464
66Mar 20, 2026 08:017,123101,764,21576,345,0002,009,0002,502,656
67Mar 20, 2026 09:147,133105,704,21077,459,0001,005,0002,502,656
68Mar 20, 2026 08:027,138112,032,68677,517,0001,006,0002,326,528
69Mar 20, 2026 09:007,169110,013,84076,865,0001,996,0002,326,528