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
Date AuthorLanguageStatus Score
Apr 18, 2025 21:12KeefeKeefeCPPclang++18.1.3Error
Apr 18, 2025 20:30KeefeKeefeCPPclang++18.1.3Error
Apr 18, 2025 20:29KeefeKeefeCPPclang++18.1.3Error
Apr 18, 2025 20:27KeefeKeefeCPPclang++18.1.3Error
Apr 18, 2025 13:11Chandrasekaran AkashChandrasekaran AkashCPPclang++18.1.3Error
Apr 13, 2025 17:38Wong ShouhaoWong ShouhaoCPPclang++18.1.3Success603,289+16.58 RP
Apr 10, 2025 09:56NoSIMD_C#NoSIMD_C#CSHARP9.0.4Success27,522
Apr 10, 2025 07:51NoSIMD_C#NoSIMD_C#CSHARP9.0.4Error
Apr 10, 2025 07:33NoSIMD_C#NoSIMD_C#CSHARP9.0.4Error
Apr 10, 2025 06:54NoSIMD_C#NoSIMD_C#CSHARP9.0.4Error
Apr 10, 2025 05:35NoSIMD_C#NoSIMD_C#CSHARP9.0.4Success27,506+0.30 RP
Apr 10, 2025 03:32NoSIMD_C#NoSIMD_C#CSHARP9.0.4Success27,517+2.90 RP
Apr 10, 2025 03:22NoSIMD_C#NoSIMD_C#CSHARP9.0.4Success27,627+5.02 RP
Apr 9, 2025 17:28NoSIMD_C#NoSIMD_C#CSHARP9.0.4Success28,342
Apr 8, 2025 07:21NoSIMD_C#NoSIMD_C#CPPg++13.2.0Error
Apr 6, 2025 15:29Aniruddha DebAniruddha DebCPPg++13.2.0Success10,287+213.03 RP
Apr 6, 2025 14:54Aniruddha DebAniruddha DebCPPclang++18.1.3Success553,253
Apr 6, 2025 14:54Aniruddha DebAniruddha DebCPPclang++18.1.3Success553,210
Apr 4, 2025 05:54NoSIMD_C#NoSIMD_C#CSHARP9.0.3Success580,653
Apr 3, 2025 18:44Aniruddha DebAniruddha DebCPPg++13.2.0Success13,302
Apr 3, 2025 18:44Aniruddha DebAniruddha DebCPPg++13.2.0Error
Apr 3, 2025 18:41Aniruddha DebAniruddha DebCPPg++13.2.0Success14,115
Apr 3, 2025 18:40Aniruddha DebAniruddha DebCPPg++13.2.0Success13,749
Apr 3, 2025 18:39Aniruddha DebAniruddha DebCPPg++13.2.0Error
Apr 3, 2025 18:35Aniruddha DebAniruddha DebCPPg++13.2.0Success13,174+100.48 RP
Apr 3, 2025 18:31Aniruddha DebAniruddha DebCPPg++13.2.0Success15,184+300.60 RP
Apr 3, 2025 16:59Aniruddha DebAniruddha DebCPPg++13.2.0Error
Apr 3, 2025 16:57Aniruddha DebAniruddha DebCPPg++13.2.0Error
Mar 28, 2025 10:14NoSIMD_C#NoSIMD_C#CSHARP9.0.3Success27,914
Mar 19, 2025 23:45Aniruddha DebAniruddha DebCPPg++13.2.0Success27,934+0.64 RP
Mar 19, 2025 23:44Aniruddha DebAniruddha DebCPPg++13.2.0Success37,306
Mar 19, 2025 23:39Aniruddha DebAniruddha DebCPPg++13.2.0Success30,860
Mar 19, 2025 23:25Aniruddha DebAniruddha DebCPPg++13.2.0Success27,984+58.18 RP
Mar 19, 2025 23:20Aniruddha DebAniruddha DebCPPg++13.2.0Error
Mar 19, 2025 23:16Aniruddha DebAniruddha DebCPPg++13.2.0Success33,426+299.17 RP
Mar 19, 2025 22:59Aniruddha DebAniruddha DebCPPg++13.2.0Error
Mar 19, 2025 22:52Aniruddha DebAniruddha DebCPPg++13.2.0Error
Mar 7, 2025 08:39NoSIMD_C#NoSIMD_C#CPPg++13.2.0Error
Mar 7, 2025 08:38NoSIMD_C#NoSIMD_C#CPPclang++18.1.3Error
Feb 28, 2025 18:05stan agronovstan agronovGOgo1.24.0Success481,572+1.01 RP
Feb 28, 2025 05:23NoSIMD_C#NoSIMD_C#CSHARP10.0.0-preview.1Success27,899
Feb 20, 2025 19:24korsajankorsajanGOgo1.23.4Success461,130+21.69 RP
Feb 20, 2025 19:22korsajankorsajanGOgo1.23.4Error
Feb 19, 2025 18:23korsajankorsajanGOgo1.23.4Error
Feb 19, 2025 14:28korsajankorsajanGOgo1.23.4Error
Feb 19, 2025 14:19korsajankorsajanGOgo1.24.0Error
Feb 5, 2025 16:36KeefeKeefeCPPclang++18.1.3Error
Feb 4, 2025 12:28Oleg KovalovOleg KovalovGOgo1.23.5Success70,765+3.43 RP
Feb 3, 2025 13:36Andrey LikhachevAndrey LikhachevRUSTrust-1.84.0Error
Feb 3, 2025 13:27Andrey LikhachevAndrey LikhachevRUSTrust-1.84.0Success34,674
Feb 3, 2025 05:29NoSIMD_C#NoSIMD_C#CPPclang++18.1.3Success534,643
Feb 1, 2025 22:33HighloadGPT-o3-mini-highHighloadGPT-o3-mini-highCPPclang++18.1.3Success27,622+36.00 RP
Feb 1, 2025 22:33HighloadGPT-o3-mini-highHighloadGPT-o3-mini-highCPPg++13.2.0Success30,672+326.03 RP
Feb 1, 2025 11:23KeefeKeefeCPPclang++18.1.3Error
Feb 1, 2025 10:52KeefeKeefeCPPclang++18.1.3Error
Feb 1, 2025 10:50KeefeKeefeCPPclang++18.1.3Error
Jan 30, 2025 14:25Oleg KovalovOleg KovalovGOgo1.23.5Success73,809
Jan 29, 2025 10:03NoSIMD_C#NoSIMD_C#CSHARP9.0.1Success27,851
Jan 28, 2025 18:05etherealetherealGOgo1.23.5Error
Jan 28, 2025 18:01etherealetherealGOgo1.23.5Error
Jan 28, 2025 17:56etherealetherealGOgo1.23.5Error
Jan 27, 2025 22:37Oleg KovalovOleg KovalovGOgo1.23.5Success74,384
Jan 27, 2025 22:34Oleg KovalovOleg KovalovGOgo1.23.5Error
Jan 23, 2025 08:26NoSIMD_C#NoSIMD_C#CSHARP9.0.1Success27,820+3.30 RP
Jan 23, 2025 08:22NoSIMD_C#NoSIMD_C#CSHARP9.0.1Success27,948+27.48 RP
Jan 22, 2025 20:40Ian MckibbenIan MckibbenCPPclang++18.1.3Success16,765
Jan 21, 2025 07:34NoSIMD_C#NoSIMD_C#CSHARP9.0.1Success30,210
Jan 19, 2025 07:07AnSaAnSaCPPg++13.2.0Success19,618
Jan 19, 2025 00:43Ian MckibbenIan MckibbenCPPclang++18.1.3Success16,089
Jan 19, 2025 00:42Ian MckibbenIan MckibbenCPPclang++18.1.3Success15,982+4.55 RP
Jan 19, 2025 00:40Ian MckibbenIan MckibbenCPPg++13.2.0Success16,171
Jan 16, 2025 01:34Ian MckibbenIan MckibbenCPPg++13.2.0Success16,099+20.77 RP
Jan 16, 2025 01:34Ian MckibbenIan MckibbenCPPclang++18.1.3Success16,656+1.90 RP
Jan 15, 2025 06:46NoSIMD_C#NoSIMD_C#CSHARP9.0.1Success30,626
Jan 11, 2025 23:30Ian MckibbenIan MckibbenCPPclang++18.1.3Success16,709+2.75 RP
Jan 11, 2025 23:30Ian MckibbenIan MckibbenCPPclang++18.1.3Success26,896
Jan 11, 2025 23:27Ian MckibbenIan MckibbenCPPclang++18.1.3Error
Jan 11, 2025 23:26Ian MckibbenIan MckibbenCPPclang++18.1.3Success17,311
Jan 11, 2025 23:24Ian MckibbenIan MckibbenCPPclang++18.1.3Success16,786+1.10 RP
Jan 11, 2025 23:03Ian MckibbenIan MckibbenCPPclang++18.1.3Success16,817+41.91 RP
Jan 11, 2025 23:01Ian MckibbenIan MckibbenCPPclang++18.1.3Error
Jan 11, 2025 22:58Ian MckibbenIan MckibbenCPPclang++18.1.3Error
Jan 11, 2025 22:57Ian MckibbenIan MckibbenCPPclang++18.1.3Error
Jan 11, 2025 22:54Ian MckibbenIan MckibbenCPPclang++18.1.3Success18,213
Jan 11, 2025 22:50Ian MckibbenIan MckibbenCPPclang++18.1.3Success18,092+5.92 RP
Jan 11, 2025 22:47Ian MckibbenIan MckibbenCPPclang++18.1.3Success18,288+1.07 RP
Jan 11, 2025 22:46Ian MckibbenIan MckibbenCPPclang++18.1.3Success21,232
Jan 11, 2025 22:43Ian MckibbenIan MckibbenCPPclang++18.1.3Success18,324+19.97 RP
Jan 11, 2025 22:34Ian MckibbenIan MckibbenCPPclang++18.1.3Success19,020+64.64 RP
Jan 11, 2025 22:30Ian MckibbenIan MckibbenCPPclang++18.1.3Success21,686+90.11 RP
Jan 11, 2025 22:28Ian MckibbenIan MckibbenCPPclang++18.1.3Success26,953+109.63 RP
Jan 11, 2025 22:25Ian MckibbenIan MckibbenCPPclang++18.1.3Success38,257+18.35 RP
Jan 11, 2025 22:02Ian MckibbenIan MckibbenCPPclang++18.1.3Success41,159
Jan 11, 2025 22:00Ian MckibbenIan MckibbenCPPclang++18.1.3Error
Jan 11, 2025 21:57Ian MckibbenIan MckibbenCPPclang++18.1.3Error
Jan 11, 2025 21:51Ian MckibbenIan MckibbenCPPclang++18.1.3Success41,145+178.13 RP
Jan 11, 2025 21:49Ian MckibbenIan MckibbenCPPclang++18.1.3Success166,557
Jan 11, 2025 21:47Ian MckibbenIan MckibbenCPPclang++18.1.3Error
Jan 11, 2025 21:45Ian MckibbenIan MckibbenCPPclang++18.1.3Success154,063+11.47 RP
Jan 11, 2025 21:43Ian MckibbenIan MckibbenCPPclang++18.1.3Error