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
Aug 14, 2026 16:49Tomislav TunkovicTomislav TunkovicCPPclang++14.0.6Error+463.23 RP
Aug 14, 2026 16:09Tomislav TunkovicTomislav TunkovicCPPg++13.3.0Error+90.72 RP
Aug 14, 2026 14:55marko1597marko1597CPPg++14.2.0Error
Aug 14, 2026 14:44Tomislav TunkovicTomislav TunkovicCPPg++13.3.0Error+177.16 RP
Aug 14, 2026 14:36marko1597marko1597CPPg++13.3.0Success4,531
Aug 14, 2026 14:36marko1597marko1597CPPg++14.2.0Error+4.92 RP
Aug 14, 2026 14:32Tomislav TunkovicTomislav TunkovicCPPclang++18.1.3Error+287.44 RP
Aug 14, 2026 14:27Tomislav TunkovicTomislav TunkovicCPPg++13.3.0Error+71.41 RP
Aug 14, 2026 14:23marko1597marko1597CPPclang++18.1.3Success4,764
Aug 14, 2026 14:23marko1597marko1597CPPg++14.2.0Success4,751
Aug 14, 2026 14:22Tomislav TunkovicTomislav TunkovicCPPclang++18.1.3Error+507.11 RP
Aug 14, 2026 14:15Tomislav TunkovicTomislav TunkovicCPPclang++18.1.3Error+413.23 RP
Aug 14, 2026 14:11Tomislav TunkovicTomislav TunkovicCPPclang++18.1.3Error+316.39 RP
Aug 14, 2026 14:04marko1597marko1597CPPg++13.3.0Success5,213
Aug 14, 2026 14:04marko1597marko1597CPPg++14.2.0Success5,090
Aug 14, 2026 14:02Tomislav TunkovicTomislav TunkovicCPPclang++18.1.3Error+641.56 RP
Aug 14, 2026 13:57marko1597marko1597CPPg++13.3.0Success4,556
Aug 14, 2026 13:57marko1597marko1597CPPg++14.2.0Success4,526
Aug 14, 2026 13:44marko1597marko1597CPPg++13.3.0Success4,545
Aug 14, 2026 13:44marko1597marko1597CPPclang++18.1.3Success4,690
Aug 14, 2026 13:44marko1597marko1597CPPg++13.3.0Success4,691
Aug 14, 2026 13:44marko1597marko1597CPPg++14.2.0Error+14.64 RP
Aug 14, 2026 13:40marko1597marko1597CPPclang++18.1.3Success4,688
Aug 14, 2026 13:40marko1597marko1597CPPg++13.3.0Success4,547
Aug 14, 2026 13:36marko1597marko1597CPPclang++18.1.3Success4,569
Aug 14, 2026 13:36marko1597marko1597CPPg++13.3.0Success4,598
Aug 14, 2026 13:31marko1597marko1597CPPclang++18.1.3Success6,491
Aug 14, 2026 13:31marko1597marko1597CPPg++13.3.0Success6,557
Aug 14, 2026 13:18marko1597marko1597CPPg++13.3.0Error+80.33 RP
Aug 14, 2026 13:11marko1597marko1597CPPg++13.3.0Success50,600
Aug 14, 2026 12:53marko1597marko1597CPPg++13.3.0Success5,311
Aug 14, 2026 12:46marko1597marko1597CPPclang++18.1.3Success5,068
Aug 14, 2026 12:46marko1597marko1597CPPg++13.3.0Success5,464
Aug 14, 2026 12:36marko1597marko1597CPPclang++18.1.3Success5,935
Aug 14, 2026 12:36marko1597marko1597CPPg++13.3.0Success6,262
Aug 14, 2026 12:29marko1597marko1597CPPclang++18.1.3Success6,642
Aug 14, 2026 12:29marko1597marko1597CPPg++13.3.0Success7,066
Aug 14, 2026 12:18marko1597marko1597CPPg++13.3.0Error
Aug 14, 2026 12:12marko1597marko1597CPPclang++18.1.3Success5,082
Aug 14, 2026 12:12marko1597marko1597CPPg++14.2.0Error
Aug 14, 2026 12:12marko1597marko1597CPPg++13.3.0Error+1'948.21 RP
Aug 14, 2026 11:57marko1597marko1597CPPg++13.3.0Success57,759+7.22 RP
Aug 14, 2026 11:55marko1597marko1597CPPg++10.5.0Success60,273+165.91 RP
Aug 1, 2026 21:49Victor MerckléVictor MerckléCPPclang++18.1.3Success2,104
Aug 1, 2026 21:44Victor MerckléVictor MerckléCPPclang++18.1.3Success2,101
Aug 1, 2026 21:39Victor MerckléVictor MerckléCPPg++14.2.0Success2,132
Jul 31, 2026 06:13TonyTonyCPPg++10.5.0Success60,276+165.90 RP
Jul 26, 2026 01:58Julian KohJulian KohRUSTrust-1.97.1Error
Jul 26, 2026 01:27Julian KohJulian KohRUSTrust-1.95.0Success112,561+88.84 RP
Jul 20, 2026 12:25Serge SmirnovSerge SmirnovCPPg++10.5.0Success60,303+165.83 RP
Jul 18, 2026 22:42Andrew TsibinAndrew TsibinRUSTrust-1.95.0Success3,988+2'507.52 RP
Jul 10, 2026 18:45Genos0Genos0CPPg++10.5.0Success52,415+25.14 RP
Jul 8, 2026 01:03Victor MerckléVictor MerckléCPPclang++18.1.3Success2,119
Jul 8, 2026 00:58Victor MerckléVictor MerckléCPPclang++18.1.3Success2,145
Jul 8, 2026 00:54Victor MerckléVictor MerckléCPPclang++18.1.3Success2,178
Jul 8, 2026 00:48Victor MerckléVictor MerckléCPPclang++18.1.3Success31,252
Jul 7, 2026 05:29Victor MerckléVictor MerckléCPPclang++18.1.3Success1,981
Jul 7, 2026 05:24Victor MerckléVictor MerckléCPPclang++18.1.3Success2,047
Jul 7, 2026 05:19Victor MerckléVictor MerckléCPPclang++18.1.3Success1,986
Jul 7, 2026 05:14Victor MerckléVictor MerckléCPPclang++18.1.3Success2,004
Jul 4, 2026 15:44Genos0Genos0CPPg++10.5.0Success60,370+165.65 RP
Jul 3, 2026 11:53Victor MerckléVictor MerckléCPPclang++18.1.3Success2,126
Jul 3, 2026 11:49Victor MerckléVictor MerckléCPPclang++18.1.3Success2,120
Jul 3, 2026 11:44Victor MerckléVictor MerckléCPPclang++18.1.3Success2,127
Jul 3, 2026 11:38Victor MerckléVictor MerckléCPPclang++18.1.3Success2,131
Jul 3, 2026 11:33Victor MerckléVictor MerckléCPPclang++18.1.3Success2,131
Jul 3, 2026 11:28Victor MerckléVictor MerckléCPPclang++18.1.3Success2,231
Jul 3, 2026 11:23Victor MerckléVictor MerckléCPPclang++18.1.3Success2,122
Jul 3, 2026 11:13Victor MerckléVictor MerckléCPPclang++18.1.3Success2,032
Jul 3, 2026 02:40f0xerif0xeriCPPg++10.5.0Success60,261+165.94 RP
Jul 2, 2026 19:40A_ShamanA_ShamanCPPg++10.5.0Success16,748+38.15 RP
Jul 2, 2026 19:37A_ShamanA_ShamanCPPg++10.5.0Success18,182
Jul 2, 2026 19:26A_ShamanA_ShamanCPPg++10.5.0Success17,891+10.45 RP
Jul 2, 2026 19:21A_ShamanA_ShamanCPPg++10.5.0Success18,485
Jul 2, 2026 19:18A_ShamanA_ShamanCPPg++10.5.0Success20,489
Jul 2, 2026 19:13A_ShamanA_ShamanCPPg++10.5.0Success18,232+17.79 RP
Jul 2, 2026 19:09A_ShamanA_ShamanCPPg++10.5.0Success18,986
Jul 2, 2026 19:04A_ShamanA_ShamanCPPg++10.5.0Success21,119
Jul 2, 2026 19:01A_ShamanA_ShamanCPPg++10.5.0Success18,843+44.49 RP
Jul 2, 2026 18:58A_ShamanA_ShamanCPPg++10.5.0Success20,567+35.26 RP
Jul 1, 2026 08:55Victor MerckléVictor MerckléCPPg++14.2.0Success2,203
Jul 1, 2026 08:46Victor MerckléVictor MerckléCPPg++14.2.0Success88,192
Jul 1, 2026 08:40Victor MerckléVictor MerckléCPPg++14.2.0Success2,136
Jun 28, 2026 19:31Shikhar SoniShikhar SoniCPPclang++20.1.2Success6,401
Jun 28, 2026 19:30Shikhar SoniShikhar SoniCPPclang++18.1.3Success6,504
Jun 28, 2026 19:29Shikhar SoniShikhar SoniCPPclang++20.1.2Success6,790
Jun 28, 2026 19:29Shikhar SoniShikhar SoniCPPclang++20.1.2Success6,389+3.42 RP
Jun 28, 2026 19:28Shikhar SoniShikhar SoniCPPclang++20.1.2Success6,403+0.49 RP
Jun 28, 2026 19:26Shikhar SoniShikhar SoniCPPclang++20.1.2Success6,538
Jun 28, 2026 19:24Shikhar SoniShikhar SoniCPPclang++20.1.2Success6,524
Jun 28, 2026 19:23Shikhar SoniShikhar SoniCPPclang++20.1.2Success6,532
Jun 28, 2026 19:22Shikhar SoniShikhar SoniCPPclang++20.1.2Success6,405+3.89 RP
Jun 28, 2026 19:20Shikhar SoniShikhar SoniCPPclang++20.1.2Success6,546
Jun 28, 2026 19:19Shikhar SoniShikhar SoniCPPclang++20.1.2Success6,421+0.73 RP
Jun 28, 2026 19:19Shikhar SoniShikhar SoniCPPclang++20.1.2Success6,424+23.63 RP
Jun 28, 2026 19:18Shikhar SoniShikhar SoniCPPg++14.2.0Success6,757
Jun 28, 2026 19:18Shikhar SoniShikhar SoniCPPg++13.3.0Error
Jun 28, 2026 19:17Shikhar SoniShikhar SoniCPPclang++18.1.3Error+1'533.04 RP
Jun 21, 2026 21:21A_ShamanA_ShamanCPPg++10.5.0Success29,333
Jun 21, 2026 21:18A_ShamanA_ShamanCPPg++10.5.0Success22,648