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 19, 2024 00:19Joad NacerJoad NacerCPPg++9.4.0Error
Apr 19, 2024 00:17Joad NacerJoad NacerCPPg++9.4.0Success7,814
Apr 19, 2024 00:15Joad NacerJoad NacerCPPg++9.4.0Error
Apr 19, 2024 00:06Joad NacerJoad NacerCPPg++9.4.0Success7,814
Apr 19, 2024 00:03Joad NacerJoad NacerCPPg++9.4.0Success7,903
Apr 19, 2024 00:02Joad NacerJoad NacerCPPg++9.4.0Success7,935
Apr 18, 2024 23:59Joad NacerJoad NacerCPPg++9.4.0Success7,922
Apr 18, 2024 23:58Joad NacerJoad NacerCPPg++9.4.0Success8,460
Apr 18, 2024 23:54Joad NacerJoad NacerCPPg++9.4.0Success7,920
Apr 18, 2024 23:53Joad NacerJoad NacerCPPg++9.4.0Success7,920
Apr 18, 2024 23:53Joad NacerJoad NacerCPPg++9.4.0Success7,869
Apr 18, 2024 23:53Joad NacerJoad NacerCPPg++9.4.0Error
Apr 18, 2024 23:53Joad NacerJoad NacerCPPg++9.4.0Success7,900
Apr 18, 2024 23:53Joad NacerJoad NacerCPPg++9.4.0Success7,903
Apr 18, 2024 23:52Joad NacerJoad NacerCPPg++9.4.0Success7,871
Apr 18, 2024 23:46Joad NacerJoad NacerCPPg++9.4.0Error
Apr 18, 2024 23:43Joad NacerJoad NacerCPPg++9.4.0Success7,513
Apr 18, 2024 23:43Joad NacerJoad NacerCPPg++9.4.0Success7,523
Apr 18, 2024 23:43Joad NacerJoad NacerCPPg++9.4.0Success7,915
Apr 18, 2024 23:41Joad NacerJoad NacerCPPg++9.4.0Error
Apr 18, 2024 23:34Joad NacerJoad NacerCPPg++9.4.0Error
Apr 18, 2024 23:21Joad NacerJoad NacerCPPg++9.4.0Error
Apr 18, 2024 23:20Joad NacerJoad NacerCPPg++9.4.0Success7,768
Apr 18, 2024 23:18Joad NacerJoad NacerCPPg++9.4.0Success7,511+16.11 RP
Apr 18, 2024 23:16Joad NacerJoad NacerCPPg++9.4.0Success7,623
Apr 18, 2024 23:13Joad NacerJoad NacerCPPg++9.4.0Error
Apr 18, 2024 23:11Joad NacerJoad NacerCPPg++9.4.0Error
Apr 18, 2024 23:11Joad NacerJoad NacerCPPg++9.4.0Error
Apr 18, 2024 23:09Joad NacerJoad NacerCPPg++9.4.0Error
Apr 18, 2024 23:06Joad NacerJoad NacerCPPg++9.4.0Error
Apr 18, 2024 23:03Joad NacerJoad NacerCPPg++9.4.0Error
Apr 18, 2024 22:56Joad NacerJoad NacerCPPg++9.4.0Error
Apr 18, 2024 22:51Joad NacerJoad NacerCPPg++9.4.0Success7,746
Apr 18, 2024 22:49Joad NacerJoad NacerCPPg++9.4.0Error
Apr 18, 2024 22:47Joad NacerJoad NacerCPPg++9.4.0Error
Apr 18, 2024 22:43Joad NacerJoad NacerCPPg++9.4.0Error
Apr 18, 2024 22:42Joad NacerJoad NacerCPPg++9.4.0Success7,731
Apr 18, 2024 22:37Joad NacerJoad NacerCPPg++9.4.0Error
Apr 18, 2024 22:34Joad NacerJoad NacerCPPg++9.4.0Error
Apr 18, 2024 22:32Joad NacerJoad NacerCPPg++9.4.0Success7,716
Apr 18, 2024 22:29Joad NacerJoad NacerCPPg++9.4.0Error
Apr 18, 2024 22:26Joad NacerJoad NacerCPPg++9.4.0Success7,809
Apr 18, 2024 22:25Joad NacerJoad NacerCPPg++9.4.0Success7,866
Apr 18, 2024 22:18Joad NacerJoad NacerCPPg++9.4.0Success7,787
Apr 18, 2024 22:18Joad NacerJoad NacerCPPg++9.4.0Success7,963
Apr 18, 2024 22:18Joad NacerJoad NacerCPPclang++10.0.0Success7,603+33.38 RP
Apr 18, 2024 22:17Joad NacerJoad NacerCPPg++9.4.0Success7,801+17.18 RP
Apr 18, 2024 22:11Joad NacerJoad NacerCPPg++9.4.0Success8,256
Apr 18, 2024 22:04Joad NacerJoad NacerCPPg++9.4.0Success8,189
Apr 18, 2024 22:00Joad NacerJoad NacerCPPclang++10.0.0Success7,907+352.71 RP
Apr 18, 2024 21:58Joad NacerJoad NacerCPPclang++10.0.0Success10,965+1.66 RP
Apr 18, 2024 21:56Joad NacerJoad NacerCPPclang++10.0.0Success10,985+5.44 RP
Apr 18, 2024 21:50Joad NacerJoad NacerCPPclang++10.0.0Error
Apr 18, 2024 21:45Joad NacerJoad NacerCPPclang++10.0.0Error
Apr 18, 2024 21:41Joad NacerJoad NacerCPPclang++10.0.0Error
Apr 18, 2024 21:33Joad NacerJoad NacerCPPclang++10.0.0Error
Apr 18, 2024 21:23Joad NacerJoad NacerCPPclang++10.0.0Error
Apr 18, 2024 21:18Joad NacerJoad NacerCPPclang++10.0.0Error
Apr 18, 2024 21:12Joad NacerJoad NacerCPPclang++10.0.0Error
Apr 18, 2024 21:06Joad NacerJoad NacerCPPclang++10.0.0Error
Apr 18, 2024 21:01Joad NacerJoad NacerCPPclang++10.0.0Error
Apr 18, 2024 20:49Joad NacerJoad NacerCPPclang++10.0.0Success13,310
Apr 18, 2024 20:49Joad NacerJoad NacerCPPg++9.4.0Success11,051+904.90 RP
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