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:08olliecrowolliecrowScore: 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 04:063,14859,633,74033,606,0001,018,0002,396,160
2Mar 30, 2026 03:583,14959,800,10033,618,0001,018,0002,277,376
3Mar 30, 2026 04:003,15260,533,45633,648,0001,019,0002,482,176
4Mar 30, 2026 04:083,15267,975,29034,675,00002,277,376
5Mar 30, 2026 03:573,15360,843,47833,697,000991,0002,392,064
6Mar 30, 2026 04:003,15460,447,66434,695,00002,392,064
7Mar 30, 2026 04:073,15571,588,54533,685,0001,020,0002,277,376
8Mar 30, 2026 04:013,15567,687,91234,709,00002,277,376
9Mar 30, 2026 04:083,16360,253,16833,799,000994,0002,404,352
10Mar 30, 2026 03:573,16460,924,04632,820,0001,989,0002,392,064
11Mar 30, 2026 03:563,16664,890,21332,840,0001,990,0002,277,376
12Mar 30, 2026 04:003,16762,517,12634,842,00002,400,256
13Mar 30, 2026 04:053,16761,666,71233,845,000995,0002,392,064
14Mar 30, 2026 03:593,16764,059,98534,842,00002,277,376
15Mar 30, 2026 03:583,16764,248,57133,847,000995,0002,281,472
16Mar 30, 2026 03:573,16760,638,71333,845,000995,0002,396,160
17Mar 30, 2026 04:003,16762,992,49533,838,000995,0002,277,376
18Mar 30, 2026 04:083,16765,474,80433,843,000995,0002,277,376
19Mar 30, 2026 04:013,16761,524,35433,845,000995,0002,277,376
20Mar 30, 2026 04:043,16859,686,11033,848,000995,0002,277,376
21Mar 30, 2026 04:003,16863,259,65434,853,00002,412,544
22Mar 30, 2026 03:583,16860,542,47433,858,000995,0002,277,376
23Mar 30, 2026 04:063,16862,580,60232,860,0001,991,0002,396,160
24Mar 30, 2026 04:063,16858,487,85933,858,000995,0002,277,376
25Mar 30, 2026 03:573,16861,231,24033,857,000995,0002,277,376
26Mar 30, 2026 04:063,16861,630,23332,854,0001,991,0002,277,376
27Mar 30, 2026 03:553,16860,347,62233,856,000995,0002,396,160
28Mar 30, 2026 04:043,16965,066,83533,862,000995,0002,277,376
29Mar 30, 2026 04:043,16956,673,70933,836,0001,025,0002,277,376
30Mar 30, 2026 04:043,16964,473,23132,864,0001,991,0002,277,376
31Mar 30, 2026 03:553,16955,268,26033,864,000996,0002,404,352
32Mar 30, 2026 04:013,16962,984,24132,870,0001,992,0002,412,544
33Mar 30, 2026 03:553,16965,701,61432,871,0001,992,0002,277,376
34Mar 30, 2026 03:593,16964,315,93332,870,0001,992,0002,277,376
35Mar 30, 2026 03:563,16963,103,86832,863,0001,991,0002,277,376
36Mar 30, 2026 03:573,16961,111,76932,871,0001,992,0002,400,256
37Mar 30, 2026 04:033,17063,221,90632,876,0001,992,0002,404,352
38Mar 30, 2026 04:063,17064,051,39033,869,000996,0002,277,376
39Mar 30, 2026 04:003,17358,989,45332,909,0001,994,0002,269,184
40Mar 30, 2026 04:033,17455,734,59032,920,0001,995,0002,277,376
41Mar 30, 2026 04:043,17460,403,47932,915,0001,994,0002,392,064
42Mar 30, 2026 04:043,17455,798,84932,924,0001,995,0002,277,376
43Mar 30, 2026 04:073,17459,468,31932,920,0001,995,0002,392,064
44Mar 30, 2026 03:563,17457,895,53932,921,0001,995,0002,269,184
45Mar 30, 2026 04:053,17555,911,79632,930,0001,995,0002,396,160
46Mar 30, 2026 03:563,17859,931,14332,958,0001,997,0002,404,352
47Mar 30, 2026 04:063,17859,335,50633,965,000998,0002,396,160
48Mar 30, 2026 04:053,17859,728,75332,958,0001,997,0002,396,160
49Mar 30, 2026 03:573,17959,563,18132,976,0001,998,0002,392,064
50Mar 30, 2026 04:083,18155,431,72832,997,0001,999,0002,277,376
51Mar 30, 2026 04:083,18259,781,71734,000,0001,000,0002,396,160
52Mar 30, 2026 04:083,18257,304,46634,002,0001,000,0002,400,256
53Mar 30, 2026 03:563,18353,356,86134,008,0001,000,0002,277,376
54Mar 30, 2026 03:563,18462,201,09134,028,0001,000,0002,277,376
55Mar 30, 2026 04:033,18558,032,04334,038,0001,001,0002,277,376
56Mar 30, 2026 04:073,18756,749,31734,058,0001,001,0002,404,352
57Mar 30, 2026 03:593,18752,268,71034,052,0001,001,0002,277,376