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 30, 2025 07:23Aniruddha DebAniruddha DebCPPg++13.3.0Error
May 30, 2025 06:31Aniruddha DebAniruddha DebCPPg++13.3.0Success5,636+12.81 RP
May 29, 2025 05:19NoSIMD_C#NoSIMD_C#CSHARP9.0.5Success27,576
May 19, 2025 23:27KeefeKeefeCPPg++13.3.0Success35,811
May 13, 2025 17:58KeefeKeefeCPPg++13.3.0Error
May 13, 2025 17:55KeefeKeefeCPPg++13.3.0Error
May 13, 2025 17:53KeefeKeefeCPPg++13.3.0Error
May 8, 2025 11:03Aleksey ShvetsAleksey ShvetsGOgo1.24.3Success120,430+0.04 RP
May 7, 2025 20:54Aleksey ShvetsAleksey ShvetsGOgo1.24.3Success120,487+0.02 RP
May 7, 2025 20:52Aleksey ShvetsAleksey ShvetsGOgo1.24.3Success120,703
May 7, 2025 20:43Aleksey ShvetsAleksey ShvetsGOgo1.24.3Error
May 7, 2025 20:41Aleksey ShvetsAleksey ShvetsGOgo1.24.3Success120,789
May 7, 2025 20:35Aleksey ShvetsAleksey ShvetsGOgo1.24.3Success120,569
May 7, 2025 20:18Aleksey ShvetsAleksey ShvetsGOgo1.24.3Success120,834
May 7, 2025 20:13Aleksey ShvetsAleksey ShvetsGOgo1.24.3Error
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