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 29, 2026 18:36olliecrowolliecrowScore: 3,168Success
Source Code

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

Challenge History

No challenges yet.

Run Statistics
#DateScoreWall TimeCPU UserCPU SystemMemoryError
1Mar 29, 2026 18:363,15159,666,56634,658,00002,392,064
2Mar 29, 2026 18:363,15259,692,70633,652,0001,019,0002,400,256
3Mar 29, 2026 18:363,15258,832,74134,674,00002,277,376
4Mar 29, 2026 18:443,15364,667,68033,660,0001,020,0002,277,376
5Mar 29, 2026 18:433,15460,061,68734,692,00002,404,352
6Mar 29, 2026 18:443,15459,520,63333,678,0001,020,0002,277,376
7Mar 29, 2026 18:483,15460,992,90533,672,0001,020,0002,277,376
8Mar 29, 2026 18:363,15562,047,37733,681,0001,020,0002,400,256
9Mar 29, 2026 18:373,15562,271,74333,687,0001,020,0002,404,352
10Mar 29, 2026 18:463,15765,903,08033,702,0001,021,0002,277,376
11Mar 29, 2026 18:443,16561,458,34032,822,0001,989,0002,277,376
12Mar 29, 2026 18:493,16665,636,87933,836,000995,0002,277,376
13Mar 29, 2026 18:363,16661,245,10432,833,0001,989,0002,277,376
14Mar 29, 2026 18:433,16663,607,56333,831,000995,0002,400,256
15Mar 29, 2026 18:463,16759,138,20233,845,000995,0002,519,040
16Mar 29, 2026 18:373,16762,399,13132,842,0001,990,0002,404,352
17Mar 29, 2026 18:433,16863,290,61134,849,00002,400,256
18Mar 29, 2026 18:443,16863,508,40632,854,0001,991,0002,277,376
19Mar 29, 2026 18:443,16858,532,13432,857,0001,991,0002,277,376
20Mar 29, 2026 18:353,16862,370,84933,855,000995,0002,387,968
21Mar 29, 2026 18:463,16860,436,39833,856,000995,0002,277,376
22Mar 29, 2026 18:383,16863,628,12132,862,0001,991,0002,277,376
23Mar 29, 2026 18:383,16860,967,50233,849,000995,0002,383,872
24Mar 29, 2026 18:473,16862,148,12334,850,00002,277,376
25Mar 29, 2026 18:483,16862,825,27334,850,00002,277,376
26Mar 29, 2026 18:483,16863,183,00433,853,000995,0002,277,376
27Mar 29, 2026 18:363,16866,927,52932,852,0001,991,0002,400,256
28Mar 29, 2026 18:493,16862,553,30333,854,000995,0002,277,376
29Mar 29, 2026 18:463,16961,084,12033,860,000995,0002,396,160
30Mar 29, 2026 18:473,16958,888,88233,865,000996,0002,277,376
31Mar 29, 2026 18:373,16962,734,37133,859,000995,0002,404,352
32Mar 29, 2026 18:453,16959,670,17233,863,000995,0002,277,376
33Mar 29, 2026 18:453,16962,788,05433,867,000996,0002,277,376
34Mar 29, 2026 18:383,17062,445,87534,875,00002,277,376
35Mar 29, 2026 18:353,17159,480,13633,885,000996,0002,396,160
36Mar 29, 2026 18:453,17261,560,07734,889,00002,277,376
37Mar 29, 2026 18:383,17262,610,27432,901,0001,994,0002,277,376
38Mar 29, 2026 18:383,17261,236,13532,902,0001,994,0002,277,376
39Mar 29, 2026 18:373,17354,792,50032,905,0001,994,0002,277,376
40Mar 29, 2026 18:483,17361,615,38234,899,00002,277,376
41Mar 29, 2026 18:443,17558,040,73732,931,0001,995,0002,404,352
42Mar 29, 2026 18:483,17562,367,78332,925,0001,995,0002,519,040
43Mar 29, 2026 18:373,17560,048,87632,932,0001,995,0002,408,448
44Mar 29, 2026 18:373,17665,049,75233,942,000998,0002,400,256
45Mar 29, 2026 18:353,17755,180,56233,945,000998,0002,396,160
46Mar 29, 2026 18:493,17864,301,36732,958,0001,997,0002,277,376
47Mar 29, 2026 18:463,17859,970,71933,964,000998,0002,412,544
48Mar 29, 2026 18:473,18253,218,78633,000,0002,000,0002,277,376
49Mar 29, 2026 18:363,18366,010,07433,013,0002,000,0002,400,256
50Mar 29, 2026 18:363,18558,341,68833,029,0002,001,0002,277,376
51Mar 29, 2026 18:383,18760,680,45434,052,0001,001,0002,400,256
52Mar 29, 2026 18:363,19061,643,47633,087,0002,005,0002,498,560
53Mar 29, 2026 18:463,19056,998,29334,085,0001,002,0002,277,376
54Mar 29, 2026 18:483,29470,052,96231,201,0005,032,0002,277,376