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 01:32olliecrowolliecrowScore: 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 01:323,13958,258,91933,516,0001,015,0002,408,448
2Mar 30, 2026 01:233,14559,814,32233,575,0001,017,0002,400,256
3Mar 30, 2026 01:283,15362,302,52433,663,0001,020,0002,277,376
4Mar 30, 2026 01:243,15361,785,52233,660,0001,020,0002,277,376
5Mar 30, 2026 01:253,15362,328,88134,680,00002,277,376
6Mar 30, 2026 01:263,15467,931,41634,692,00002,277,376
7Mar 30, 2026 01:253,15472,580,52233,678,0001,020,0002,277,376
8Mar 30, 2026 01:333,15465,065,98333,673,0001,020,0002,387,968
9Mar 30, 2026 01:293,15561,132,24334,700,00002,396,160
10Mar 30, 2026 01:303,15563,711,60533,685,0001,020,0002,277,376
11Mar 30, 2026 01:373,15564,299,53033,687,0001,020,0002,400,256
12Mar 30, 2026 01:333,15859,454,22733,715,0001,021,0002,396,160
13Mar 30, 2026 01:263,16163,397,33333,779,000993,0002,277,376
14Mar 30, 2026 01:333,16460,191,58633,814,000994,0002,277,376
15Mar 30, 2026 01:263,16461,325,93032,816,0001,988,0002,277,376
16Mar 30, 2026 01:283,16462,737,91633,812,000994,0002,277,376
17Mar 30, 2026 01:293,16563,077,26733,816,000994,0002,396,160
18Mar 30, 2026 01:243,16659,746,91334,823,00002,277,376
19Mar 30, 2026 01:343,16763,390,92633,843,000995,0002,277,376
20Mar 30, 2026 01:263,16765,134,15433,846,000995,0002,396,160
21Mar 30, 2026 01:303,16760,863,55334,842,00002,277,376
22Mar 30, 2026 01:293,16860,804,17133,858,000995,0002,404,352
23Mar 30, 2026 01:293,16865,031,73034,848,00002,277,376
24Mar 30, 2026 01:343,16864,058,40633,857,000995,0002,277,376
25Mar 30, 2026 01:313,16862,372,62832,854,0001,991,0002,277,376
26Mar 30, 2026 01:313,16860,820,44532,858,0001,991,0002,494,464
27Mar 30, 2026 01:263,16867,835,48532,853,0001,991,0002,490,368
28Mar 30, 2026 01:303,16961,699,19532,868,0001,992,0002,277,376
29Mar 30, 2026 01:293,16963,450,88933,861,000995,0002,392,064
30Mar 30, 2026 01:233,16964,646,13932,869,0001,992,0002,404,352
31Mar 30, 2026 01:373,16959,450,55633,868,000996,0002,392,064
32Mar 30, 2026 01:343,16959,891,63134,855,00002,277,376
33Mar 30, 2026 01:293,16962,674,50134,854,00002,490,368
34Mar 30, 2026 01:243,16960,822,19532,863,0001,991,0002,400,256
35Mar 30, 2026 01:253,16962,092,94733,868,000996,0002,277,376
36Mar 30, 2026 01:233,16959,328,99133,866,000996,0002,510,848
37Mar 30, 2026 01:243,16959,494,05832,867,0001,991,0002,400,256
38Mar 30, 2026 01:243,17063,968,68433,871,000996,0002,277,376
39Mar 30, 2026 01:253,17066,287,51633,873,000996,0002,277,376
40Mar 30, 2026 01:243,17061,827,80232,877,0001,992,0002,277,376
41Mar 30, 2026 01:343,17056,581,95633,870,000996,0002,277,376
42Mar 30, 2026 01:283,17065,767,56632,874,0001,992,0002,277,376
43Mar 30, 2026 01:273,17160,043,56933,882,000996,0002,277,376
44Mar 30, 2026 01:283,17159,398,53433,890,000996,0002,396,160
45Mar 30, 2026 01:273,17264,186,53732,900,0001,993,0002,277,376
46Mar 30, 2026 01:313,17456,685,04132,921,0001,995,0002,412,544
47Mar 30, 2026 01:333,17456,504,22533,913,000997,0002,392,064
48Mar 30, 2026 01:323,17563,477,85533,932,000998,0002,277,376
49Mar 30, 2026 01:343,17661,688,86933,941,000998,0002,392,064
50Mar 30, 2026 01:343,17659,022,07233,936,000998,0002,506,752
51Mar 30, 2026 01:373,17656,276,00532,936,0001,996,0002,277,376
52Mar 30, 2026 01:253,17657,930,82633,943,000998,0002,396,160
53Mar 30, 2026 01:283,17665,207,42132,935,0001,996,0002,408,448
54Mar 30, 2026 01:323,17767,150,87433,948,000998,0002,396,160
55Mar 30, 2026 01:273,18059,709,82332,985,0001,999,0002,400,256
56Mar 30, 2026 01:333,18260,796,10534,005,0001,000,0002,392,064
57Mar 30, 2026 01:333,18260,737,52434,004,0001,000,0002,277,376
58Mar 30, 2026 01:263,18359,568,27933,015,0002,000,0002,277,376
59Mar 30, 2026 01:253,18861,087,53234,070,0001,002,0002,277,376
60Mar 30, 2026 01:283,19957,723,21233,179,0002,010,0002,277,376