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 04:15olliecrowolliecrowScore: 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 04:223,14559,412,27233,573,0001,017,0002,392,064
2Mar 30, 2026 04:213,14959,684,39934,641,00002,277,376
3Mar 30, 2026 04:183,15166,669,49733,645,0001,019,0002,404,352
4Mar 30, 2026 04:163,15358,805,84734,682,00002,404,352
5Mar 30, 2026 04:183,15363,392,99533,663,0001,020,0002,277,376
6Mar 30, 2026 04:283,15365,502,22133,666,0001,020,0002,277,376
7Mar 30, 2026 04:233,16562,162,20032,822,0001,989,0002,396,160
8Mar 30, 2026 04:193,16564,086,88032,831,0001,989,0002,396,160
9Mar 30, 2026 04:223,16561,630,96533,819,000994,0002,277,376
10Mar 30, 2026 04:263,16762,908,94932,848,0001,990,0002,277,376
11Mar 30, 2026 04:203,16762,246,33033,842,000995,0002,277,376
12Mar 30, 2026 04:193,16764,670,74733,846,000995,0002,277,376
13Mar 30, 2026 04:223,16762,907,44133,838,000995,0002,277,376
14Mar 30, 2026 04:243,16761,307,00432,851,0001,991,0002,400,256
15Mar 30, 2026 04:223,16866,002,01333,850,000995,0002,400,256
16Mar 30, 2026 04:183,16862,517,55733,858,000995,0002,281,472
17Mar 30, 2026 04:143,16863,212,72932,857,0001,991,0002,404,352
18Mar 30, 2026 04:193,16859,370,40433,850,000995,0002,277,376
19Mar 30, 2026 04:153,16867,857,99334,844,00002,400,256
20Mar 30, 2026 04:173,16865,699,74532,859,0001,991,0002,400,256
21Mar 30, 2026 04:243,16863,423,75733,858,000995,0002,396,160
22Mar 30, 2026 04:163,16961,352,25432,867,0001,991,0002,277,376
23Mar 30, 2026 04:143,16960,475,19333,862,000995,0002,277,376
24Mar 30, 2026 04:143,16962,148,66232,869,0001,992,0002,277,376
25Mar 30, 2026 04:223,16962,352,24834,858,00002,277,376
26Mar 30, 2026 04:153,16965,903,67033,866,000996,0002,277,376
27Mar 30, 2026 04:193,16959,011,41932,867,0001,991,0002,277,376
28Mar 30, 2026 04:163,17062,011,99433,870,000996,0002,277,376
29Mar 30, 2026 04:193,17058,697,43334,872,00002,408,448
30Mar 30, 2026 04:213,17060,037,42032,880,0001,992,0002,404,352
31Mar 30, 2026 04:173,17162,025,23433,857,0001,025,0002,277,376
32Mar 30, 2026 04:243,17160,734,93233,855,0001,025,0002,482,176
33Mar 30, 2026 04:233,17261,158,17333,867,0001,026,0002,404,352
34Mar 30, 2026 04:263,17260,417,18734,895,00002,392,064
35Mar 30, 2026 04:213,17257,774,56732,896,0001,993,0002,277,376
36Mar 30, 2026 04:283,17355,218,65532,908,0001,994,0002,400,256
37Mar 30, 2026 04:243,17358,337,93232,906,0001,994,0002,392,064
38Mar 30, 2026 04:203,17458,755,69832,921,0001,995,0002,277,376
39Mar 30, 2026 04:213,17461,072,49733,913,000997,0002,277,376
40Mar 30, 2026 04:173,17460,011,53633,912,000997,0002,277,376
41Mar 30, 2026 04:183,17458,715,84132,921,0001,995,0002,277,376
42Mar 30, 2026 04:193,17457,937,34632,915,0001,994,0002,396,160
43Mar 30, 2026 04:243,17663,086,67832,941,0001,996,0002,400,256
44Mar 30, 2026 04:223,17659,860,60232,936,0001,996,0002,277,376
45Mar 30, 2026 04:213,17761,227,56832,948,0001,996,0002,400,256
46Mar 30, 2026 04:183,17862,158,58132,963,0001,997,0002,277,376
47Mar 30, 2026 04:283,17857,666,46633,958,000998,0002,400,256
48Mar 30, 2026 04:153,17956,868,02832,969,0001,998,0002,277,376
49Mar 30, 2026 04:153,17958,863,03333,973,000999,0002,277,376
50Mar 30, 2026 04:183,18058,585,91633,979,000999,0002,404,352
51Mar 30, 2026 04:203,18156,884,76333,990,000999,0002,277,376
52Mar 30, 2026 04:153,18458,563,74534,021,0001,000,0002,396,160
53Mar 30, 2026 04:213,18560,990,30633,036,0002,002,0002,396,160
54Mar 30, 2026 04:233,18659,711,92333,044,0002,002,0002,392,064
55Mar 30, 2026 04:243,18663,974,31334,041,0001,001,0002,269,184
56Mar 30, 2026 04:263,18765,420,92533,055,0002,003,0002,281,472
57Mar 30, 2026 04:153,18856,448,76134,070,0001,002,0002,400,256