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
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
Aug 5, 2022 21:56Eugene ZhydzetskiEugene ZhydzetskiGOgo1.19Success16,200+29.98 RP
Aug 5, 2022 21:50Eugene ZhydzetskiEugene ZhydzetskiGOgo1.19Success17,027+10.77 RP
Aug 5, 2022 21:39Eugene ZhydzetskiEugene ZhydzetskiGOgo1.19Success17,345+11.28 RP
Aug 5, 2022 21:35Eugene ZhydzetskiEugene ZhydzetskiGOgo1.19Success17,691+336.93 RP
Aug 5, 2022 21:23Eugene ZhydzetskiEugene ZhydzetskiGOgo1.19Success43,895
Aug 5, 2022 20:48Eugene ZhydzetskiEugene ZhydzetskiGOgo1.19Success43,796+207.76 RP
Aug 5, 2022 20:40Eugene ZhydzetskiEugene ZhydzetskiGOgo1.19Error
Aug 5, 2022 19:57Eugene ZhydzetskiEugene ZhydzetskiGOgo1.19Success486,952
Aug 5, 2022 15:54Eugene ZhydzetskiEugene ZhydzetskiGOgo1.19Success486,681
Aug 5, 2022 15:22Eugene ZhydzetskiEugene ZhydzetskiGOgo1.19Success486,680
Aug 5, 2022 15:20Eugene ZhydzetskiEugene ZhydzetskiGOgo1.19Success486,045
Aug 5, 2022 14:47Eugene ZhydzetskiEugene ZhydzetskiGOgo1.19Success486,150+0.55 RP
Aug 5, 2022 14:33Eugene ZhydzetskiEugene ZhydzetskiGOgo1.19Success499,523+20.02 RP
Jul 21, 2022 16:58Robert BurkeRobert BurkeCPPg++9.3.0Success519,195+19.26 RP
May 23, 2022 13:30stan agronovstan agronovGOgo1.18.2Success506,140
May 23, 2022 13:26stan agronovstan agronovGOgo1.18.2Error
May 23, 2022 13:19stan agronovstan agronovGOgo1.18.2Error
May 23, 2022 12:49stan agronovstan agronovGOgo1.18.2Error
May 23, 2022 12:37stan agronovstan agronovGOgo1.18.2Success506,094+19.76 RP
Jan 21, 2022 04:58Karam Jameel MooreKaram Jameel MooreCPPg++9.3.0Success590,550+16.93 RP
Dec 25, 2021 06:08Alexander KimAlexander KimGOgo1.17.5Success484,075+0.48 RP
Dec 25, 2021 05:07Alexander KimAlexander KimGOgo1.17.5Success495,474+20.18 RP
Nov 10, 2021 20:40Sergey StreminSergey StreminRUSTrust-1.56.1Error+2.97 RP
Nov 10, 2021 20:39Sergey StreminSergey StreminRUSTrust-1.56.1Success6,374
Nov 10, 2021 20:37Sergey StreminSergey StreminRUSTrust-1.56.1Error
Nov 10, 2021 20:32Sergey StreminSergey StreminRUSTrust-1.56.1Success5,221
Nov 10, 2021 20:26Sergey StreminSergey StreminRUSTrust-1.56.1Success5,240
Nov 10, 2021 20:24Sergey StreminSergey StreminRUSTrust-1.56.1Success5,265
Nov 10, 2021 20:19Sergey StreminSergey StreminRUSTrust-1.56.1Success5,269
Nov 10, 2021 20:18Sergey StreminSergey StreminRUSTrust-1.56.1Success6,408
Nov 10, 2021 20:16Sergey StreminSergey StreminRUSTrust-1.56.1Error
Nov 10, 2021 20:14Sergey StreminSergey StreminRUSTrust-1.56.1Error
Nov 10, 2021 20:13Sergey StreminSergey StreminRUSTrust-1.56.1Error
Nov 10, 2021 19:59Sergey StreminSergey StreminRUSTrust-1.56.1Error