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 10:17Dominique GarmierDominique GarmierScore: 6,404Success
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 09:336,37892,267,31368,159,0002,004,0002,334,720
2Mar 20, 2026 09:326,386103,833,04368,242,0002,007,0002,326,528
3Mar 20, 2026 09:326,38893,833,43968,259,0002,007,0002,326,528
4Mar 20, 2026 10:396,388101,940,97968,257,0002,007,0002,506,752
5Mar 20, 2026 10:106,38996,901,46368,275,0002,008,0002,326,528
6Mar 20, 2026 09:406,38995,125,92568,271,0002,007,0002,334,720
7Mar 20, 2026 10:096,39296,020,96568,307,0002,009,0002,330,624
8Mar 20, 2026 09:576,39396,742,29568,316,0002,009,0002,506,752
9Mar 20, 2026 09:376,39399,672,11268,317,0002,009,0002,498,560
10Mar 20, 2026 10:146,39497,489,41168,329,0002,009,0002,330,624
11Mar 20, 2026 10:106,39594,984,46169,342,0001,004,0002,326,528
12Mar 20, 2026 09:406,395100,230,31969,337,0001,004,0002,330,624
13Mar 20, 2026 10:276,39699,954,52069,352,0001,005,0002,506,752
14Mar 20, 2026 09:346,39894,600,65369,368,0001,005,0002,347,008
15Mar 20, 2026 09:516,39998,223,99768,381,0002,011,0002,494,464
16Mar 20, 2026 10:276,400101,340,49669,393,0001,005,0002,326,528
17Mar 20, 2026 10:206,40094,136,41568,390,0002,011,0002,330,624
18Mar 20, 2026 10:416,40098,225,87069,395,0001,005,0002,502,656
19Mar 20, 2026 10:146,40096,890,44869,394,0001,005,0002,326,528
20Mar 20, 2026 09:326,402103,126,29868,409,0002,012,0002,330,624
21Mar 20, 2026 09:376,40398,405,65269,425,0001,006,0002,326,528
22Mar 20, 2026 10:176,40395,054,97569,428,0001,006,0002,326,528
23Mar 20, 2026 10:096,403101,161,33070,433,00002,326,528
24Mar 20, 2026 09:576,40398,950,94869,432,0001,006,0002,514,944
25Mar 20, 2026 09:336,40499,103,36970,446,00002,347,008
26Mar 20, 2026 10:246,40495,520,38970,439,00002,502,656
27Mar 20, 2026 10:106,40597,264,97769,449,0001,006,0002,330,624
28Mar 20, 2026 09:516,40595,687,54868,441,0002,012,0002,293,760
29Mar 20, 2026 09:576,40695,011,11069,458,0001,006,0002,326,528
30Mar 20, 2026 09:516,406104,367,64870,467,00002,502,656
31Mar 20, 2026 10:346,40799,958,11069,473,0001,006,0002,502,656
32Mar 20, 2026 10:346,40798,005,97769,469,0001,006,0002,326,528
33Mar 20, 2026 10:396,408101,151,80769,478,0001,006,0002,326,528
34Mar 20, 2026 09:346,40996,641,57069,492,0001,007,0002,506,752
35Mar 20, 2026 09:346,410100,176,58069,504,0001,007,0002,330,624
36Mar 20, 2026 10:206,41197,651,55169,517,0001,007,0002,334,720
37Mar 20, 2026 10:346,412100,756,08169,525,0001,007,0002,326,528
38Mar 20, 2026 10:206,41397,957,15969,539,0001,007,0002,326,528
39Mar 20, 2026 10:246,41492,256,31469,546,0001,007,0002,330,624
40Mar 20, 2026 09:406,414104,564,16569,549,0001,007,0002,498,560
41Mar 20, 2026 09:336,41499,198,32969,548,0001,007,0002,498,560
42Mar 20, 2026 09:376,41594,660,06469,556,0001,008,0002,498,560
43Mar 20, 2026 10:416,41698,092,23069,565,0001,008,0002,502,656
44Mar 20, 2026 10:146,41894,246,09769,585,0001,008,0002,326,528
45Mar 20, 2026 10:176,41999,058,48169,601,0001,008,0002,326,528
46Mar 20, 2026 10:246,420103,410,43369,612,0001,008,0002,326,528
47Mar 20, 2026 10:416,42096,700,50270,623,00002,330,624
48Mar 20, 2026 10:396,42799,645,74369,701,000995,0002,326,528
49Mar 20, 2026 10:096,427107,694,71669,692,0001,010,0002,326,528
50Mar 20, 2026 10:176,42897,346,86568,712,0001,991,0002,506,752
51Mar 20, 2026 10:276,43997,271,85569,837,000997,0002,330,624