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
May 7, 2025 20:10Aleksey ShvetsAleksey ShvetsGOgo1.24.3Success120,537
May 7, 2025 20:07Aleksey ShvetsAleksey ShvetsGOgo1.24.3Error
May 7, 2025 19:18Aleksey ShvetsAleksey ShvetsGOgo1.24.3Error
May 7, 2025 18:36Aleksey ShvetsAleksey ShvetsGOgo1.24.3Success120,509+62.12 RP
May 7, 2025 18:35Aleksey ShvetsAleksey ShvetsGOgo1.24.3Error
May 7, 2025 18:34Aleksey ShvetsAleksey ShvetsGOgo1.24.3Error
May 7, 2025 18:32Aleksey ShvetsAleksey ShvetsGOgo1.24.3Error
May 7, 2025 18:30Aleksey ShvetsAleksey ShvetsGOgo1.24.3Error
May 7, 2025 18:25Aleksey ShvetsAleksey ShvetsGOgo1.24.2Error
May 6, 2025 17:28KeefeKeefeCPPg++13.3.0Success51,671
May 6, 2025 17:25KeefeKeefeCPPg++13.3.0Error
May 6, 2025 17:22KeefeKeefeCPPg++13.3.0Success65,505
May 6, 2025 17:16KeefeKeefeCPPg++13.3.0Success29,439+14.37 RP
May 6, 2025 17:08KeefeKeefeCPPg++13.3.0Error
May 6, 2025 17:07KeefeKeefeCPPg++13.3.0Error
May 6, 2025 17:03KeefeKeefeCPPg++13.3.0Error
May 6, 2025 17:02KeefeKeefeCPPg++13.3.0Error
May 6, 2025 17:01KeefeKeefeCPPg++13.3.0Success30,739+28.78 RP
May 6, 2025 16:58KeefeKeefeCPPg++13.3.0Error
May 6, 2025 16:56KeefeKeefeCPPg++13.3.0Error
May 6, 2025 16:54KeefeKeefeCPPg++13.3.0Success56,246
May 6, 2025 16:52KeefeKeefeCPPg++13.3.0Error
May 6, 2025 16:49KeefeKeefeCPPg++13.3.0Success33,722+3.15 RP
May 6, 2025 16:46KeefeKeefeCPPg++13.3.0Success34,084+53.51 RP
May 6, 2025 15:51NoSIMD_C#NoSIMD_C#CSHARP9.0.4Success27,726
May 5, 2025 05:02KeefeKeefeCPPg++13.3.0Error
May 1, 2025 14:59KeefeKeefeCPPg++13.3.0Error
May 1, 2025 14:40KeefeKeefeCPPg++13.3.0Error
May 1, 2025 14:24KeefeKeefeCPPg++13.3.0Success43,473
May 1, 2025 14:18KeefeKeefeCPPg++13.3.0Error
May 1, 2025 14:06KeefeKeefeCPPg++13.3.0Success41,687+239.88 RP
May 1, 2025 14:03KeefeKeefeCPPg++13.3.0Error
May 1, 2025 14:02etherealetherealCPPg++13.3.0Success612,480+16.33 RP
Apr 30, 2025 13:10KeefeKeefeCPPg++13.3.0Error
Apr 30, 2025 13:07KeefeKeefeCPPg++13.3.0Error
Apr 30, 2025 13:04KeefeKeefeCPPg++13.3.0Error
Apr 27, 2025 03:54KeefeKeefeCPPg++13.3.0Error
Apr 27, 2025 03:52KeefeKeefeCPPg++13.3.0Error
Apr 27, 2025 03:48KeefeKeefeCPPg++13.3.0Error
Apr 27, 2025 03:45KeefeKeefeCPPg++13.3.0Error
Apr 20, 2025 08:51Aniruddha DebAniruddha DebCPPg++13.2.0Success5,677+789.39 RP
Apr 19, 2025 17:45Aleksey ShvetsAleksey ShvetsGOgo1.24.2Error
Apr 19, 2025 17:42Aleksey ShvetsAleksey ShvetsGOgo1.24.2Error
Apr 19, 2025 17:24Aleksey ShvetsAleksey ShvetsGOgo1.24.2Error
Apr 19, 2025 16:33Aleksey ShvetsAleksey ShvetsGOgo1.24.2Success500,592
Apr 19, 2025 16:26Aleksey ShvetsAleksey ShvetsGOgo1.24.2Success490,880
Apr 19, 2025 16:20Aleksey ShvetsAleksey ShvetsGOgo1.24.2Success479,294+20.86 RP
Apr 18, 2025 22:10Yuriy LyfenkoYuriy LyfenkoCSHARP9.0.4Success4,549+5.30 RP
Apr 18, 2025 22:07Yuriy LyfenkoYuriy LyfenkoCSHARP9.0.4Error
Apr 18, 2025 22:04Yuriy LyfenkoYuriy LyfenkoCSHARP9.0.4Success4,560+5.76 RP
Apr 18, 2025 22:02Yuriy LyfenkoYuriy LyfenkoCSHARP9.0.4Success4,576
Apr 18, 2025 22:01Yuriy LyfenkoYuriy LyfenkoCSHARP9.0.4Success4,572+44.98 RP
Apr 18, 2025 21:57Yuriy LyfenkoYuriy LyfenkoCSHARP9.0.4Error
Apr 18, 2025 21:53Yuriy LyfenkoYuriy LyfenkoCSHARP9.0.4Success4,668+1'778.69 RP
Apr 18, 2025 21:51KeefeKeefeCPPclang++18.1.3Error
Apr 18, 2025 21:50Yuriy LyfenkoYuriy LyfenkoCSHARP9.0.4Error
Apr 18, 2025 21:47Yuriy LyfenkoYuriy LyfenkoCSHARP9.0.4Error
Apr 18, 2025 21:42Yuriy LyfenkoYuriy LyfenkoCSHARP9.0.4Error
Apr 18, 2025 21:39KeefeKeefeCPPclang++18.1.3Error
Apr 18, 2025 21:38KeefeKeefeCPPclang++18.1.3Error
Apr 18, 2025 21:35KeefeKeefeCPPclang++18.1.3Error
Apr 18, 2025 21:28KeefeKeefeCPPclang++18.1.3Error
Apr 18, 2025 21:20KeefeKeefeCPPclang++18.1.3Error
Apr 18, 2025 21:18KeefeKeefeCPPclang++18.1.3Error
Apr 18, 2025 21:14KeefeKeefeCPPclang++18.1.3Error
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