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 16, 2023 04:37Robert BurkeRobert BurkeCPPg++9.3.0Error
Apr 15, 2023 07:20Robert BurkeRobert BurkeCPPg++9.3.0Error
Apr 15, 2023 07:18Robert BurkeRobert BurkeCPPg++9.3.0Error
Apr 15, 2023 07:16Robert BurkeRobert BurkeCPPg++9.3.0Error
Apr 15, 2023 07:13Robert BurkeRobert BurkeCPPg++9.3.0Error
Apr 15, 2023 06:47Robert BurkeRobert BurkeCPPg++9.3.0Error
Apr 15, 2023 06:46Robert BurkeRobert BurkeCPPg++9.3.0Error
Apr 15, 2023 06:43Robert BurkeRobert BurkeCPPg++9.3.0Success12,869+3.01 RP
Apr 15, 2023 06:33Robert BurkeRobert BurkeCPPg++9.3.0Success12,919+670.00 RP
Apr 15, 2023 05:49Robert BurkeRobert BurkeCPPg++9.3.0Success96,328
Apr 15, 2023 05:44Robert BurkeRobert BurkeCPPg++9.3.0Success96,106+2.22 RP
Apr 15, 2023 05:42Robert BurkeRobert BurkeCPPg++9.3.0Success98,203+82.35 RP
Apr 15, 2023 05:38Robert BurkeRobert BurkeCPPg++9.3.0Error
Apr 15, 2023 05:37Robert BurkeRobert BurkeCPPg++9.3.0Error
Apr 15, 2023 05:35Robert BurkeRobert BurkeCPPg++9.3.0Error
Apr 15, 2023 05:33Robert BurkeRobert BurkeCPPg++9.3.0Error
Apr 15, 2023 05:31Robert BurkeRobert BurkeCPPg++9.3.0Error
Apr 14, 2023 15:09Robert BurkeRobert BurkeCPPg++9.3.0Error
Apr 12, 2023 10:54Robert BurkeRobert BurkeCPPg++9.3.0Success514,598
Apr 9, 2023 11:41Robert BurkeRobert BurkeCPPg++9.3.0Success519,683
Apr 9, 2023 11:14Robert BurkeRobert BurkeCPPg++9.3.0Error
Apr 9, 2023 11:09Robert BurkeRobert BurkeCPPg++9.3.0Success513,299+0.22 RP
Mar 9, 2023 10:41Saken BerdibekovSaken BerdibekovGOgo1.20.2Error
Mar 9, 2023 10:38Saken BerdibekovSaken BerdibekovGOgo1.20.2Error
Mar 9, 2023 10:25Saken BerdibekovSaken BerdibekovGOgo1.20.2Error
Mar 9, 2023 10:24Saken BerdibekovSaken BerdibekovGOgo1.20.2Error
Mar 9, 2023 10:20Saken BerdibekovSaken BerdibekovGOgo1.20.2Error
Feb 22, 2023 16:16Arsen AbdusalamovArsen AbdusalamovGOgo1.20.1Error
Feb 22, 2023 16:13Arsen AbdusalamovArsen AbdusalamovGOgo1.20.1Error
Feb 17, 2023 20:58LiamLiamCPPg++9.3.0Success29,026
Feb 17, 2023 20:57LiamLiamCPPg++9.3.0Success29,022
Feb 17, 2023 20:57LiamLiamCPPclang++10.0.0Success23,918
Feb 17, 2023 20:55LiamLiamCPPclang++10.0.0Success23,123+16.31 RP
Feb 17, 2023 20:54LiamLiamCPPclang++10.0.0Success34,195
Feb 17, 2023 20:53LiamLiamCPPclang++10.0.0Success40,439
Feb 17, 2023 20:51LiamLiamCPPclang++10.0.0Success35,011
Feb 17, 2023 20:44LiamLiamCPPclang++10.0.0Success24,029+21.38 RP
Feb 17, 2023 20:43LiamLiamCPPclang++10.0.0Success29,238
Feb 17, 2023 20:41LiamLiamCPPclang++10.0.0Success25,679
Feb 17, 2023 20:39LiamLiamCPPclang++10.0.0Success25,442
Feb 17, 2023 20:38LiamLiamCPPclang++10.0.0Success25,330+0.09 RP
Feb 17, 2023 20:36LiamLiamCPPclang++10.0.0Success223,394
Feb 17, 2023 20:31LiamLiamCPPclang++10.0.0Error
Feb 17, 2023 20:26LiamLiamCPPclang++10.0.0Success25,336+59.91 RP
Feb 17, 2023 20:26LiamLiamCPPg++9.3.0Success30,174
Feb 17, 2023 20:24LiamLiamCPPg++9.3.0Success30,027
Feb 17, 2023 20:23LiamLiamCPPg++9.3.0Success30,066
Feb 17, 2023 20:22LiamLiamCPPg++9.3.0Success29,881
Feb 17, 2023 20:20LiamLiamCPPg++9.3.0Success29,870+316.61 RP
Feb 16, 2023 07:09IMRinatIMRinatCPPg++9.3.0Success597,002+16.75 RP
Feb 15, 2023 19:47LiamLiamCPPclang++10.0.0Success563,060
Feb 15, 2023 19:47LiamLiamCPPg++9.3.0Success550,190+18.18 RP
Feb 11, 2023 04:44Mikhail ShirokovMikhail ShirokovCPPg++9.3.0Error
Nov 29, 2022 09:49apuxbtapuxbtCPPg++9.3.0Error
Nov 29, 2022 09:45apuxbtapuxbtCPPg++9.3.0Success22,283+13.88 RP
Nov 29, 2022 09:43apuxbtapuxbtCPPg++9.3.0Success41,896
Nov 29, 2022 09:42apuxbtapuxbtCPPg++9.3.0Error
Nov 29, 2022 09:22apuxbtapuxbtCPPg++9.3.0Error
Nov 29, 2022 08:51apuxbtapuxbtCPPg++9.3.0Success23,011
Nov 29, 2022 08:48apuxbtapuxbtCPPg++9.3.0Success22,994+12.06 RP
Nov 29, 2022 08:47apuxbtapuxbtCPPg++9.3.0Error
Nov 29, 2022 08:42apuxbtapuxbtCPPg++9.3.0Success29,095
Nov 29, 2022 08:40apuxbtapuxbtCPPg++9.3.0Success24,313
Nov 29, 2022 06:35apuxbtapuxbtCPPg++9.3.0Success23,650+149.15 RP
Nov 29, 2022 03:01apuxbtapuxbtCPPg++9.3.0Success38,856
Nov 29, 2022 02:49apuxbtapuxbtCPPg++9.3.0Success36,539+256.82 RP
Nov 29, 2022 02:46apuxbtapuxbtCPPg++9.3.0Error
Nov 29, 2022 02:42apuxbtapuxbtCPPg++9.3.0Error
Nov 29, 2022 02:39apuxbtapuxbtCPPg++9.3.0Error
Nov 28, 2022 22:48apuxbtapuxbtCPPg++9.3.0Error
Nov 28, 2022 22:45apuxbtapuxbtCPPg++9.3.0Error
Nov 28, 2022 22:42apuxbtapuxbtCPPg++9.3.0Error
Nov 27, 2022 16:15apuxbtapuxbtCPPg++9.3.0Success593,089+16.86 RP
Nov 26, 2022 18:52NaseefNaseefCPPg++9.3.0Success594,039+16.83 RP
Oct 11, 2022 20:09Kenneth MaplesKenneth MaplesCPPg++9.3.0Success7,436+98.39 RP
Oct 11, 2022 20:08Kenneth MaplesKenneth MaplesCPPg++9.3.0Success8,023+3.56 RP
Oct 11, 2022 20:05Kenneth MaplesKenneth MaplesCPPg++9.3.0Success8,046+1'176.80 RP
Oct 11, 2022 20:03Kenneth MaplesKenneth MaplesCPPg++9.3.0Success447,623
Oct 11, 2022 20:01Kenneth MaplesKenneth MaplesCPPg++9.3.0Error
Oct 11, 2022 19:56Kenneth MaplesKenneth MaplesCPPg++9.3.0Error
Oct 11, 2022 19:54Kenneth MaplesKenneth MaplesCPPg++9.3.0Error
Oct 11, 2022 19:52Kenneth MaplesKenneth MaplesCPPg++9.3.0Error
Oct 11, 2022 19:41Kenneth MaplesKenneth MaplesCPPg++9.3.0Success153,639
Oct 11, 2022 19:36Kenneth MaplesKenneth MaplesCPPg++9.3.0Error
Oct 11, 2022 19:31Kenneth MaplesKenneth MaplesCPPg++9.3.0Success157,873
Oct 11, 2022 19:27Kenneth MaplesKenneth MaplesCPPg++9.3.0Success385,637
Oct 11, 2022 19:13Kenneth MaplesKenneth MaplesCPPg++9.3.0Success151,381+66.06 RP
Oct 11, 2022 19:10Kenneth MaplesKenneth MaplesCPPg++9.3.0Error
Oct 11, 2022 19:08Kenneth MaplesKenneth MaplesCPPg++9.3.0Error
Oct 11, 2022 19:06Kenneth MaplesKenneth MaplesCPPg++9.3.0Error
Oct 11, 2022 19:02Kenneth MaplesKenneth MaplesCPPg++9.3.0Error
Oct 11, 2022 19:00Kenneth MaplesKenneth MaplesCPPg++9.3.0Error
Oct 11, 2022 18:57Kenneth MaplesKenneth MaplesCPPg++9.3.0Error
Oct 11, 2022 18:29Kenneth MaplesKenneth MaplesCPPg++9.3.0Error
Aug 8, 2022 22:03deniskolsanovdeniskolsanovRUSTrust-1.62.0Error
Aug 5, 2022 23:03Eugene ZhydzetskiEugene ZhydzetskiGOgo1.19Error+34.95 RP
Aug 5, 2022 23:00Eugene ZhydzetskiEugene ZhydzetskiGOgo1.19Success20,585
Aug 5, 2022 22:32Eugene ZhydzetskiEugene ZhydzetskiGOgo1.19Success17,275
Aug 5, 2022 22:03Eugene ZhydzetskiEugene ZhydzetskiGOgo1.19Success16,200
Aug 5, 2022 22:02Eugene ZhydzetskiEugene ZhydzetskiGOgo1.19Success16,686