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 00:26Dominique GarmierDominique GarmierError
Source Code

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

Challenge History
DateChallengerCostTypeStatus
Sep 8, 2026 08:24C#_user10.00CustomSolution Broken
Run Statistics
#DateScoreWall TimeCPU UserCPU SystemMemoryError
1Sep 8, 2026 08:24025,552,44614,332,0001,127,0002,138,112expected "2 ", got "1 "
2Sep 8, 2026 08:24026,358,37814,411,0001,046,0002,134,016expected "2 ", got "1 "
3Sep 8, 2026 08:24025,727,14514,616,0001,032,0002,134,016expected "2 ", got "1 "
4Mar 20, 2026 01:107,155110,651,87777,694,0001,009,0002,502,656
5Mar 20, 2026 00:507,164108,166,50776,807,0001,994,0002,326,528
6Mar 19, 2026 23:477,166108,880,07876,831,0001,995,0002,326,528
7Mar 19, 2026 23:547,166111,675,43877,829,000997,0002,330,624
8Mar 19, 2026 23:377,167108,560,23177,841,000997,0002,330,624
9Mar 19, 2026 23:447,167107,452,78877,841,000997,0002,330,624
10Mar 20, 2026 00:507,167105,404,22076,839,0001,995,0002,506,752
11Mar 19, 2026 23:547,168106,939,63876,857,0001,996,0002,494,464
12Mar 20, 2026 01:047,168104,707,30976,851,0001,996,0002,326,528
13Mar 20, 2026 01:067,168104,060,01076,849,0001,996,0002,498,560
14Mar 19, 2026 23:447,169109,896,55677,864,000998,0002,494,464
15Mar 19, 2026 23:547,169105,652,66277,844,0001,010,0002,498,560
16Mar 20, 2026 00:437,169103,470,11076,867,0001,996,0002,498,560
17Mar 20, 2026 01:047,169105,725,93976,866,0001,996,0002,502,656
18Mar 19, 2026 23:547,170107,475,38176,874,0001,996,0002,326,528
19Mar 19, 2026 23:377,171109,202,11076,889,0001,997,0002,330,624
20Mar 20, 2026 00:157,171102,310,16578,876,00002,330,624
21Mar 20, 2026 00:407,17199,406,56576,886,0001,997,0002,326,528
22Mar 20, 2026 00:507,171104,468,55077,885,000998,0002,326,528
23Mar 20, 2026 00:507,171107,862,59076,889,0001,997,0002,502,656
24Mar 20, 2026 01:067,171106,344,06876,886,0001,997,0002,326,528
25Mar 19, 2026 23:507,172111,227,20377,898,000998,0002,326,528
26Mar 20, 2026 00:547,172108,473,55476,897,0001,997,0002,506,752
27Mar 20, 2026 00:437,173106,718,03377,907,000998,0002,326,528
28Mar 19, 2026 23:417,174110,122,03476,916,0001,997,0002,498,560
29Mar 20, 2026 00:127,174112,513,06976,920,0001,997,0002,502,656
30Mar 19, 2026 23:417,175110,490,07776,925,0001,998,0002,326,528
31Mar 19, 2026 23:417,175101,774,00976,929,0001,998,0002,351,104
32Mar 19, 2026 23:417,176106,559,18976,940,0001,998,0002,494,464
33Mar 19, 2026 23:447,176106,712,14276,938,0001,998,0002,322,432
34Mar 20, 2026 00:547,176103,379,44776,938,0001,998,0002,330,624
35Mar 19, 2026 23:477,177106,181,18376,953,0001,998,0002,326,528
36Mar 19, 2026 23:447,177105,972,78476,954,0001,998,0002,326,528
37Mar 20, 2026 01:047,177109,156,48876,952,0001,998,0002,330,624
38Mar 19, 2026 23:547,179111,673,90276,969,0001,999,0002,322,432
39Mar 20, 2026 00:507,179107,100,95176,970,0001,999,0002,326,528
40Mar 19, 2026 23:417,181104,052,60376,995,0001,999,0002,498,560
41Mar 19, 2026 23:417,181106,272,46976,997,0001,999,0002,322,432
42Mar 19, 2026 23:447,183111,693,87677,008,0002,000,0002,326,528
43Mar 19, 2026 23:547,183104,326,57978,008,0001,000,0002,506,752
44Mar 20, 2026 00:087,183107,441,81277,014,0002,000,0002,506,752
45Mar 20, 2026 00:507,183111,047,77078,013,0001,000,0002,502,656
46Mar 19, 2026 23:447,184104,772,16577,024,0002,000,0002,326,528
47Mar 19, 2026 23:507,184106,346,80677,019,0002,000,0002,330,624
48Mar 20, 2026 00:187,184106,480,28777,028,0002,000,0002,326,528
49Mar 20, 2026 01:137,184105,328,22278,020,0001,000,0002,355,200
50Mar 20, 2026 00:157,185104,926,86677,035,0002,000,0002,506,752
51Mar 20, 2026 00:547,185110,974,70078,036,0001,000,0002,330,624
52Mar 19, 2026 23:377,186111,426,29077,041,0002,001,0002,326,528
53Mar 19, 2026 23:507,186108,579,43978,048,0001,000,0002,326,528
54Mar 19, 2026 23:567,186110,114,83778,043,0001,000,0002,326,528
55Mar 19, 2026 23:547,186109,749,59378,041,0001,000,0002,502,656
56Mar 19, 2026 23:377,187109,357,10477,058,0002,001,0002,502,656
57Mar 20, 2026 00:087,187105,108,96678,059,0001,000,0002,494,464
58Mar 20, 2026 00:187,187105,258,44277,054,0002,001,0002,330,624
59Mar 19, 2026 23:547,190102,194,28777,093,0002,002,0002,502,656
60Mar 20, 2026 00:087,190108,964,72477,086,0002,002,0002,330,624
61Mar 20, 2026 01:137,190107,354,32777,089,0002,002,0002,322,432
62Mar 19, 2026 23:417,191105,502,91278,099,0001,001,0002,510,848
63Mar 19, 2026 23:417,191110,127,70977,102,0002,002,0002,506,752
64Mar 19, 2026 23:547,191107,546,55677,103,0002,002,0002,330,624
65Mar 20, 2026 00:127,191105,170,52477,095,0002,002,0002,326,528
66Mar 20, 2026 01:067,191107,108,21477,097,0002,002,0002,506,752
67Mar 20, 2026 00:087,192107,435,95777,110,0002,002,0002,330,624
68Mar 20, 2026 00:507,192101,352,47977,107,0002,002,0002,506,752
69Mar 20, 2026 01:137,192109,000,15077,106,0002,002,0002,322,432
70Mar 19, 2026 23:447,193106,417,73377,124,0002,003,0002,502,656
71Mar 20, 2026 00:187,193104,115,49378,125,0001,001,0002,330,624
72Mar 20, 2026 00:317,193107,124,07177,118,0002,003,0002,326,528
73Mar 20, 2026 00:407,193114,148,73678,126,0001,001,0002,330,624
74Mar 19, 2026 23:477,194106,420,56177,134,0002,003,0002,330,624
75Mar 19, 2026 23:447,194109,289,92477,127,0002,003,0002,326,528
76Mar 19, 2026 23:417,196107,013,98077,153,0002,003,0002,330,624
77Mar 19, 2026 23:567,196111,440,74677,155,0002,004,0002,326,528
78Mar 20, 2026 00:067,196108,170,68077,149,0002,003,0002,326,528
79Mar 20, 2026 00:157,196110,748,97277,149,0002,003,0002,330,624
80Mar 20, 2026 01:107,196104,436,08977,155,0002,004,0002,498,560
81Mar 19, 2026 23:447,197107,487,58677,167,0002,004,0002,326,528
82Mar 20, 2026 00:087,197106,279,26877,167,0002,004,0002,326,528
83Mar 19, 2026 23:567,198108,109,83177,177,0002,004,0002,502,656
84Mar 19, 2026 23:377,200107,270,51777,191,0002,004,0002,498,560
85Mar 19, 2026 23:547,201107,864,94177,202,0002,005,0002,293,760
86Mar 20, 2026 00:087,201107,623,39477,210,0002,005,0002,330,624
87Mar 19, 2026 23:377,202107,090,53477,215,0002,005,0002,326,528
88Mar 19, 2026 23:417,203106,043,15477,226,0002,005,0002,330,624
89Mar 19, 2026 23:477,205108,148,54477,246,0002,006,0002,498,560
90Mar 20, 2026 00:507,205106,883,14677,250,0002,006,0002,330,624
91Mar 20, 2026 00:317,206104,628,04677,262,0002,006,0002,330,624
92Mar 20, 2026 00:067,207108,494,76077,268,0002,006,0002,502,656
93Mar 20, 2026 00:507,207108,485,52777,273,0002,007,0002,506,752
94Mar 19, 2026 23:377,208105,977,54777,278,0002,007,0002,326,528
95Mar 19, 2026 23:377,209108,869,00777,296,0002,007,0002,326,528
96Mar 20, 2026 00:407,209106,316,77678,293,0001,003,0002,506,752
97Mar 19, 2026 23:417,212108,241,41078,327,0001,004,0002,502,656
98Mar 19, 2026 23:377,213105,488,20978,338,0001,004,0002,506,752
99Mar 19, 2026 23:547,214102,674,15777,341,0002,008,0002,326,528
100Mar 20, 2026 00:437,216106,999,31177,369,0002,009,0002,326,528
101Mar 20, 2026 01:107,217107,417,93278,378,0001,004,0002,326,528
102Mar 20, 2026 00:127,219102,208,35877,396,0002,010,0002,498,560
103Mar 19, 2026 23:477,226107,125,02478,479,0001,006,0002,326,528
104Mar 20, 2026 00:267,228105,543,03378,506,0001,006,0002,502,656
105Mar 19, 2026 23:477,229107,046,26178,511,0001,006,0002,330,624
106Mar 19, 2026 23:547,237109,829,87978,605,0001,007,0002,469,888
107Mar 20, 2026 00:317,238106,185,85378,610,0001,007,0002,322,432
108Mar 20, 2026 00:067,239100,947,10078,619,0001,007,0002,498,560
109Mar 20, 2026 00:317,241107,516,90579,655,00002,506,752
110Mar 19, 2026 23:417,244108,762,66578,672,0001,008,0002,498,560
111Mar 20, 2026 00:267,24499,689,48478,679,0001,008,0002,502,656
112Mar 20, 2026 00:317,264110,406,24077,909,0001,997,0002,322,432
113Mar 20, 2026 00:317,286109,987,32477,139,0003,005,0002,330,624
114Mar 20, 2026 00:267,325107,491,63877,557,0003,021,0002,330,624