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, 2024 20:47Joad NacerJoad NacerCPPg++9.4.0Error
Apr 18, 2024 20:26Joad NacerJoad NacerCPPg++9.4.0Error
Apr 18, 2024 20:19Joad NacerJoad NacerCPPg++9.4.0Error
Apr 18, 2024 20:03Joad NacerJoad NacerCPPg++9.4.0Error
Apr 18, 2024 20:00Joad NacerJoad NacerCPPg++9.4.0Error
Apr 18, 2024 19:54Joad NacerJoad NacerCPPg++9.4.0Error
Apr 18, 2024 17:44Joad NacerJoad NacerCPPg++9.4.0Error
Apr 18, 2024 17:33Joad NacerJoad NacerCPPg++9.4.0Error
Apr 18, 2024 17:16Joad NacerJoad NacerCPPg++9.4.0Error
Apr 18, 2024 17:12Joad NacerJoad NacerCPPg++9.4.0Error
Apr 18, 2024 16:43Joad NacerJoad NacerCPPg++9.4.0Error
Apr 18, 2024 16:32Joad NacerJoad NacerCPPg++9.4.0Error
Apr 18, 2024 16:28Joad NacerJoad NacerCPPg++9.4.0Error
Apr 18, 2024 16:12Joad NacerJoad NacerCPPg++9.4.0Error
Apr 18, 2024 16:09Joad NacerJoad NacerCPPg++9.4.0Error
Apr 18, 2024 16:05Joad NacerJoad NacerCPPg++9.4.0Error
Apr 18, 2024 16:01Joad NacerJoad NacerCPPg++9.4.0Error
Apr 18, 2024 15:58Joad NacerJoad NacerCPPg++9.4.0Error
Apr 18, 2024 15:53Joad NacerJoad NacerCPPg++9.4.0Error
Apr 18, 2024 15:44Joad NacerJoad NacerCPPg++9.4.0Error
Apr 18, 2024 15:41Joad NacerJoad NacerCPPg++9.4.0Error
Apr 18, 2024 15:37Joad NacerJoad NacerCPPg++9.4.0Error
Apr 18, 2024 15:37Joad NacerJoad NacerCPPg++9.4.0Error
Apr 18, 2024 15:35Joad NacerJoad NacerCPPg++9.4.0Error
Apr 18, 2024 15:31Joad NacerJoad NacerCPPg++9.4.0Error
Apr 18, 2024 15:25Joad NacerJoad NacerCPPg++9.4.0Error
Apr 18, 2024 14:49Joad NacerJoad NacerCPPg++9.4.0Error
Apr 18, 2024 14:48Joad NacerJoad NacerCPPg++9.4.0Error
Apr 18, 2024 14:14Joad NacerJoad NacerCPPg++9.4.0Error
Apr 18, 2024 14:14Joad NacerJoad NacerCPPg++9.4.0Error
Apr 18, 2024 14:12Joad NacerJoad NacerCPPg++9.4.0Error
Apr 18, 2024 14:09Joad NacerJoad NacerCPPg++9.4.0Error
Apr 17, 2024 02:03Joad NacerJoad NacerCPPg++9.4.0Error
Feb 19, 2024 12:150xUBN0xUBNRUSTrust-1.76.0Error
Jan 30, 2024 15:01AnSaAnSaCPPg++9.4.0Success19,568+6.22 RP
Jan 30, 2024 13:07AnSaAnSaCPPg++9.4.0Success20,396
Jan 30, 2024 12:58AnSaAnSaCPPg++9.4.0Success20,070
Jan 30, 2024 12:50AnSaAnSaCPPg++9.4.0Success19,809+31.38 RP
Jan 30, 2024 12:01AnSaAnSaCPPg++9.4.0Success21,122+1.72 RP
Jan 30, 2024 10:34AnSaAnSaCPPg++9.4.0Success21,199+109.09 RP
Jan 29, 2024 12:23AnSaAnSaCPPg++9.4.0Success27,576+6.15 RP
Jan 29, 2024 12:21AnSaAnSaCPPg++9.4.0Success28,264
Jan 29, 2024 12:19AnSaAnSaCPPg++9.4.0Success28,421
Jan 29, 2024 12:16AnSaAnSaCPPg++9.4.0Success28,645
Jan 29, 2024 12:10AnSaAnSaCPPg++9.4.0Success28,052+0.53 RP
Jan 29, 2024 12:09AnSaAnSaCPPg++9.4.0Success28,094+2.13 RP
Jan 29, 2024 12:08AnSaAnSaCPPg++9.4.0Success28,263+267.52 RP
Jan 29, 2024 12:05AnSaAnSaCPPg++9.4.0Success115,878+68.24 RP
Jan 29, 2024 09:57AnSaAnSaCPPg++9.4.0Error
Jan 29, 2024 09:52AnSaAnSaCPPg++9.4.0Success553,844+18.06 RP
Jan 23, 2024 18:08Gokberk YaltirakliGokberk YaltirakliCPPg++9.4.0Error
Jan 23, 2024 18:05Gokberk YaltirakliGokberk YaltirakliCPPg++9.4.0Error
Jan 7, 2024 23:58Yurkov AlekseyYurkov AlekseyCPPg++9.4.0Success6,593
Jan 7, 2024 23:57Yurkov AlekseyYurkov AlekseyCPPg++9.4.0Success6,622
Jan 2, 2024 18:36Yurkov AlekseyYurkov AlekseyCPPg++9.4.0Success6,477+0.71 RP
Jan 2, 2024 18:35Yurkov AlekseyYurkov AlekseyCPPg++9.3.0Success6,480+22.07 RP
Dec 28, 2023 04:47Kenneth MaplesKenneth MaplesCPPg++9.3.0Success7,665
Dec 28, 2023 04:45Kenneth MaplesKenneth MaplesCPPg++9.3.0Success7,667
Dec 28, 2023 04:42Kenneth MaplesKenneth MaplesCPPg++9.3.0Success7,642
Dec 27, 2023 10:30Oleg KovalovOleg KovalovCPPclang++10.0.0Success564,761
Dec 17, 2023 08:38Kenneth MaplesKenneth MaplesCPPg++9.3.0Success7,180
Dec 17, 2023 08:36Kenneth MaplesKenneth MaplesCPPg++9.3.0Success7,179+48.14 RP
Dec 15, 2023 13:39Oleg KovalovOleg KovalovGOgo1.21.5Error
Dec 15, 2023 13:36Oleg KovalovOleg KovalovGOgo1.21.5Success72,525+11.09 RP
Dec 15, 2023 13:32Oleg KovalovOleg KovalovGOgo1.21.5Success78,868+105.76 RP
Dec 12, 2023 08:30Oleg KovalovOleg KovalovGOgo1.21.5Success475,527+0.68 RP
Dec 11, 2023 15:20Oleg KovalovOleg KovalovGOgo1.21.5Success491,500+20.35 RP
Dec 2, 2023 13:25Vitaliy KamalinVitaliy KamalinCSHARP8.0.0Error
Oct 9, 2023 02:52sliceteamsliceteamCPPg++9.3.0Success591,490+16.91 RP
Oct 7, 2023 17:48apuxbtapuxbtCPPg++9.3.0Success23,841
Sep 13, 2023 08:31mmalczakmmalczakCPPg++9.3.0Success168,481
Sep 13, 2023 08:27mmalczakmmalczakCPPg++9.3.0Success169,300
Sep 13, 2023 08:25mmalczakmmalczakCPPg++9.3.0Error
Sep 13, 2023 08:19mmalczakmmalczakCPPg++9.3.0Success168,239+2.01 RP
Sep 13, 2023 08:13mmalczakmmalczakCPPg++9.3.0Success174,405
Sep 13, 2023 08:12mmalczakmmalczakCPPclang++10.0.0Success513,162
Sep 13, 2023 08:06mmalczakmmalczakCPPg++9.3.0Success174,131+37.51 RP
Sep 13, 2023 07:56mmalczakmmalczakCPPg++9.3.0Success502,108+0.39 RP
Sep 13, 2023 07:44mmalczakmmalczakCPPg++9.3.0Success520,607
Sep 13, 2023 07:43mmalczakmmalczakCPPg++9.3.0Success519,101
Sep 13, 2023 07:40mmalczakmmalczakCPPg++9.3.0Success525,998
Sep 13, 2023 07:39mmalczakmmalczakCPPg++9.3.0Success526,990
Sep 13, 2023 07:36mmalczakmmalczakCPPg++9.3.0Success518,791
Sep 13, 2023 07:35mmalczakmmalczakCPPg++9.3.0Success518,980
Sep 13, 2023 07:27mmalczakmmalczakCPPg++9.3.0Success528,262
Sep 13, 2023 07:24mmalczakmmalczakCPPg++9.3.0Success529,249
Sep 13, 2023 07:23mmalczakmmalczakCPPg++9.3.0Success816,428
Sep 13, 2023 07:21mmalczakmmalczakCPPg++9.3.0Error
Sep 13, 2023 07:20mmalczakmmalczakCPPg++9.3.0Error
Sep 13, 2023 07:17mmalczakmmalczakCPPg++9.3.0Error
Sep 13, 2023 07:16mmalczakmmalczakCPPg++9.3.0Error
Sep 13, 2023 07:15mmalczakmmalczakCPPg++9.3.0Error
Sep 13, 2023 07:13mmalczakmmalczakCPPg++9.3.0Error
Sep 13, 2023 07:12mmalczakmmalczakCPPg++9.3.0Error
Sep 13, 2023 07:10mmalczakmmalczakCPPg++9.3.0Error
Sep 13, 2023 07:07mmalczakmmalczakCPPg++9.3.0Success512,091+2.53 RP
Sep 12, 2023 10:54mmalczakmmalczakCPPg++9.3.0Success1,285,993
Sep 12, 2023 10:52mmalczakmmalczakCPPg++9.3.0Success2,268,757
Sep 12, 2023 10:50mmalczakmmalczakCPPg++9.3.0Error
Sep 12, 2023 10:43mmalczakmmalczakCPPg++9.3.0Error