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 12:48olliecrowolliecrowScore: 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 12:503,14863,836,26833,612,0001,018,0002,277,376
2Mar 30, 2026 12:433,15163,599,09534,658,00002,277,376
3Mar 30, 2026 12:453,15260,792,40933,656,0001,019,0002,277,376
4Mar 30, 2026 12:403,15265,144,41834,676,00002,277,376
5Mar 30, 2026 12:533,15362,957,08934,683,00002,277,376
6Mar 30, 2026 12:483,15565,891,89933,680,0001,020,0002,277,376
7Mar 30, 2026 12:523,15763,489,21432,745,0001,984,0002,277,376
8Mar 30, 2026 12:403,16565,073,15032,823,0001,989,0002,392,064
9Mar 30, 2026 12:413,16763,873,61732,849,0001,990,0002,396,160
10Mar 30, 2026 12:523,16860,746,06432,861,0001,991,0002,277,376
11Mar 30, 2026 12:523,16860,559,70133,849,000995,0002,277,376
12Mar 30, 2026 12:523,16860,949,67533,854,000995,0002,277,376
13Mar 30, 2026 12:503,16862,520,98233,851,000995,0002,273,280
14Mar 30, 2026 12:503,16861,373,36134,845,00002,473,984
15Mar 30, 2026 12:533,16867,611,16032,861,0001,991,0002,396,160
16Mar 30, 2026 12:503,16860,708,36934,843,00002,277,376
17Mar 30, 2026 12:493,16867,785,32433,853,000995,0002,400,256
18Mar 30, 2026 12:543,16858,581,23234,843,00002,277,376
19Mar 30, 2026 12:483,16860,215,76733,850,000995,0002,400,256
20Mar 30, 2026 12:473,16860,779,59534,849,00002,400,256
21Mar 30, 2026 12:423,16863,902,33033,856,000995,0002,277,376
22Mar 30, 2026 12:433,16858,607,49033,849,000995,0002,396,160
23Mar 30, 2026 12:443,16859,873,00533,857,000995,0002,404,352
24Mar 30, 2026 12:413,16968,611,00832,865,0001,991,0002,387,968
25Mar 30, 2026 12:463,16956,317,74332,871,0001,992,0002,269,184
26Mar 30, 2026 12:513,16958,812,33133,864,000996,0002,400,256
27Mar 30, 2026 12:503,16969,539,10534,858,00002,404,352
28Mar 30, 2026 12:443,16963,361,73933,864,000996,0002,277,376
29Mar 30, 2026 12:463,17057,811,29932,875,0001,992,0002,404,352
30Mar 30, 2026 12:533,17063,785,50032,877,0001,992,0002,277,376
31Mar 30, 2026 12:433,17069,203,49334,868,00002,277,376
32Mar 30, 2026 12:513,17065,965,61832,875,0001,992,0002,277,376
33Mar 30, 2026 12:493,17064,074,63033,876,000996,0002,277,376
34Mar 30, 2026 12:483,17070,674,65132,875,0001,992,0002,392,064
35Mar 30, 2026 12:543,17162,246,06133,883,000996,0002,277,376
36Mar 30, 2026 12:433,17258,228,21132,901,0001,994,0002,277,376
37Mar 30, 2026 12:543,17357,836,11032,913,0001,994,0002,277,376
38Mar 30, 2026 12:423,17358,127,18033,902,000997,0002,404,352
39Mar 30, 2026 12:463,17357,791,44333,872,0001,026,0002,277,376
40Mar 30, 2026 12:463,17464,164,00233,920,000997,0002,396,160
41Mar 30, 2026 12:523,17461,738,56432,919,0001,995,0002,396,160
42Mar 30, 2026 12:463,17458,231,81732,923,0001,995,0002,396,160
43Mar 30, 2026 12:433,17562,083,78233,923,000997,0002,400,256
44Mar 30, 2026 12:473,17563,393,25733,926,000997,0002,277,376
45Mar 30, 2026 12:503,17562,771,70232,926,0001,995,0002,404,352
46Mar 30, 2026 12:433,17655,474,62632,936,0001,996,0002,277,376
47Mar 30, 2026 12:473,17858,056,95832,963,0001,997,0002,404,352
48Mar 30, 2026 12:403,17860,613,12633,963,000998,0002,277,376
49Mar 30, 2026 12:513,18155,697,15632,992,0001,999,0002,277,376
50Mar 30, 2026 12:453,18259,830,98533,000,0002,000,0002,387,968
51Mar 30, 2026 12:483,18255,909,77934,000,0001,000,0002,400,256
52Mar 30, 2026 12:493,18362,281,67434,013,0001,000,0002,400,256
53Mar 30, 2026 12:523,18457,649,12933,024,0002,001,0002,400,256
54Mar 30, 2026 12:443,18458,277,59634,027,0001,000,0002,277,376
55Mar 30, 2026 12:483,18561,841,97534,034,0001,001,0002,277,376
56Mar 30, 2026 12:413,18559,202,91134,039,0001,001,0002,400,256
57Mar 30, 2026 12:483,18560,535,65933,035,0002,002,0002,277,376
58Mar 30, 2026 12:423,18661,659,59434,040,0001,001,0002,273,280
59Mar 30, 2026 12:463,18664,239,68133,048,0002,002,0002,400,256
60Mar 30, 2026 12:453,18956,953,94835,076,00002,400,256