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
Oct 15, 2026 18:20highload-churnerhighload-churnerCPPg++14.2.0Success2,214+76.21 RP
Oct 15, 2026 17:58highload-churnerhighload-churnerCPPg++14.2.0Success2,252+11.80 RP
Oct 15, 2026 17:24highload-churnerhighload-churnerCPPg++14.2.0Success2,258+15.64 RP
Oct 15, 2026 16:43highload-churnerhighload-churnerCPPg++14.2.0Success2,266+61.45 RP
Oct 15, 2026 16:32highload-churnerhighload-churnerCPPg++14.2.0Success2,306
Oct 15, 2026 15:59highload-churnerhighload-churnerCPPg++14.2.0Success2,298+22.61 RP
Oct 15, 2026 15:33highload-churnerhighload-churnerCPPg++14.2.0Success2,310+51.84 RP
Oct 15, 2026 14:42highload-churnerhighload-churnerCPPg++14.2.0Success2,338+25.46 RP
Oct 15, 2026 14:06highload-churnerhighload-churnerCPPg++14.2.0Success2,352
Oct 15, 2026 13:04highload-churnerhighload-churnerCPPg++14.2.0Success2,352+74.59 RP
Oct 15, 2026 11:33highload-churnerhighload-churnerCPPg++14.2.0Success2,394+60.19 RP
Oct 15, 2026 11:03highload-churnerhighload-churnerCPPg++14.2.0Success2,429+81.41 RP
Oct 15, 2026 10:45highload-churnerhighload-churnerCPPg++14.2.0Success2,478+207.03 RP
Oct 15, 2026 10:18highload-churnerhighload-churnerCPPg++14.2.0Success2,612+97.14 RP
Oct 15, 2026 08:56highload-churnerhighload-churnerCPPg++14.2.0Success2,680+136.81 RP
Oct 15, 2026 08:25highload-churnerhighload-churnerCPPg++14.2.0Success2,782+711.03 RP
Oct 15, 2026 07:03highload-churnerhighload-churnerCPPg++14.2.0Success3,468+333.14 RP
Oct 15, 2026 06:08highload-churnerhighload-churnerCPPg++14.2.0Success3,921+297.10 RP
Oct 14, 2026 02:51Karthik ReddyKarthik ReddyCPPclang++18.1.3Success1,882
Oct 14, 2026 02:32Karthik ReddyKarthik ReddyZIG0.15.1Success1,879
Oct 14, 2026 02:32Karthik ReddyKarthik ReddyRUSTrust-1.95.0Success1,900
Oct 14, 2026 00:06Karthik ReddyKarthik ReddyCPPclang++18.1.3Success1,903
Oct 13, 2026 21:57janwwwjanwwwCPPg++14.2.0Error+54.38 RP
Oct 9, 2026 23:12highload-churnerhighload-churnerCPPg++14.2.0Success4,438+12.12 RP
Oct 9, 2026 23:11highload-churnerhighload-churnerCPPg++14.2.0Success4,462+129.66 RP
Oct 9, 2026 17:23Karthik ReddyKarthik ReddyZIG0.15.1Success1,846
Oct 9, 2026 15:41Karthik ReddyKarthik ReddyZIG0.15.1Success1,841
Oct 9, 2026 14:29Karthik ReddyKarthik ReddyZIG0.15.1Success1,850
Oct 9, 2026 13:49highload-churnerhighload-churnerCPPg++14.2.0Success4,736+356.79 RP
Oct 9, 2026 13:44highload-churnerhighload-churnerCPPg++14.2.0Success8,189
Oct 9, 2026 13:42highload-churnerhighload-churnerCPPg++14.2.0Success5,699+1'754.69 RP
Oct 9, 2026 13:39janwwwjanwwwCPPg++14.2.0Error+3'622.24 RP
Oct 9, 2026 13:32Karthik ReddyKarthik ReddyZIG0.15.1Success1,838
Oct 9, 2026 12:43Karthik ReddyKarthik ReddyZIG0.15.1Success1,842
Oct 9, 2026 11:39Karthik ReddyKarthik ReddyZIG0.15.1Success1,839
Oct 9, 2026 10:44Karthik ReddyKarthik ReddyZIG0.15.1Success1,841
Oct 9, 2026 10:19Karthik ReddyKarthik ReddyZIG0.15.1Success1,841
Oct 9, 2026 08:51Karthik ReddyKarthik ReddyZIG0.15.1Success1,843
Oct 9, 2026 08:48Karthik ReddyKarthik ReddyRUSTrust-1.95.0Success1,842+14.70 RP
Oct 9, 2026 08:16Karthik ReddyKarthik ReddyGOgo1.26.2Success1,838+5.91 RP
Oct 9, 2026 08:13Karthik ReddyKarthik ReddyZIG0.15.1Success1,837
Oct 9, 2026 08:12Karthik ReddyKarthik ReddyRUSTrust-1.95.0Success1,869
Oct 9, 2026 07:18Karthik ReddyKarthik ReddyRUSTrust-1.95.0Success1,849
Oct 7, 2026 07:25Karthik ReddyKarthik ReddyCPPclang++18.1.3Error+78.24 RP
Oct 7, 2026 07:22Karthik ReddyKarthik ReddyCPPclang++18.1.3Success1,837
Oct 7, 2026 07:17Karthik ReddyKarthik ReddyCPPclang++18.1.3Error+41.22 RP
Oct 7, 2026 07:14Karthik ReddyKarthik ReddyCPPclang++18.1.3Success1,850+5.84 RP
Oct 7, 2026 07:09Karthik ReddyKarthik ReddyCPPclang++18.1.3Error+180.36 RP
Oct 7, 2026 06:34Karthik ReddyKarthik ReddyCPPclang++18.1.3Error+109.34 RP
Oct 7, 2026 06:26Karthik ReddyKarthik ReddyCPPclang++18.1.3Success1,957
Oct 7, 2026 06:23Karthik ReddyKarthik ReddyCPPclang++20.1.2Error
Oct 7, 2026 06:06Karthik ReddyKarthik ReddyCPPclang++18.1.3Error+61.91 RP
Oct 7, 2026 05:54Karthik ReddyKarthik ReddyCPPclang++18.1.3Error+181.78 RP
Oct 7, 2026 05:38Karthik ReddyKarthik ReddyCPPclang++18.1.3Error+208.52 RP
Oct 7, 2026 05:28Karthik ReddyKarthik ReddyCPPclang++18.1.3Error+23.74 RP
Oct 7, 2026 05:19Karthik ReddyKarthik ReddyCPPclang++18.1.3Error+489.70 RP
Oct 7, 2026 05:10Karthik ReddyKarthik ReddyCPPclang++18.1.3Error
Oct 7, 2026 04:53Karthik ReddyKarthik ReddyCPPclang++18.1.3Error+4'144.22 RP
Oct 7, 2026 01:21Karthik ReddyKarthik ReddyCPPg++13.3.0Error
Oct 7, 2026 01:07Karthik ReddyKarthik ReddyCPPg++13.3.0Error
Oct 6, 2026 04:43janwwwjanwwwCPPg++14.2.0Success91,659+114.10 RP
Oct 4, 2026 11:04Kita RenjiKita RenjiCPPg++10.5.0Success4,869+265.22 RP
Oct 4, 2026 11:01Kita RenjiKita RenjiCPPg++10.5.0Success5,696
Oct 4, 2026 10:46Kita RenjiKita RenjiCPPg++10.5.0Success5,845
Oct 4, 2026 10:22Kita RenjiKita RenjiCPPg++10.5.0Success5,591+1'793.59 RP
Sep 27, 2026 23:17Andrew EpsteinAndrew EpsteinCPPg++14.2.0Success2,157+4.29 RP
Sep 27, 2026 23:13Andrew EpsteinAndrew EpsteinCPPg++14.2.0Success2,163
Sep 27, 2026 23:08Andrew EpsteinAndrew EpsteinCPPg++14.2.0Success20,939
Sep 27, 2026 23:07Andrew EpsteinAndrew EpsteinCPPg++14.2.0Success2,159+38.30 RP
Sep 27, 2026 22:46Andrew EpsteinAndrew EpsteinCPPg++14.2.0Success19,810
Sep 27, 2026 22:32Andrew EpsteinAndrew EpsteinCPPg++14.2.0Success12,664
Sep 27, 2026 22:32Andrew EpsteinAndrew EpsteinCPPg++14.2.0Success38,017
Sep 27, 2026 22:31Andrew EpsteinAndrew EpsteinCPPg++14.2.0Success19,008
Sep 27, 2026 22:26Andrew EpsteinAndrew EpsteinCPPg++14.2.0Success21,000
Sep 27, 2026 22:26Andrew EpsteinAndrew EpsteinCPPg++14.2.0Success2,177+27.27 RP
Sep 27, 2026 22:25Andrew EpsteinAndrew EpsteinCPPg++14.2.0Success31,920
Sep 27, 2026 22:20Andrew EpsteinAndrew EpsteinCPPg++14.2.0Success25,443
Sep 27, 2026 22:15Andrew EpsteinAndrew EpsteinCPPg++14.2.0Success2,190+22.82 RP
Sep 27, 2026 22:15Andrew EpsteinAndrew EpsteinCPPg++14.2.0Success2,201+22.59 RP
Sep 27, 2026 22:12Andrew EpsteinAndrew EpsteinCPPg++14.2.0Success2,212+16.29 RP
Sep 27, 2026 08:00Andrew EpsteinAndrew EpsteinCPPg++14.2.0Success19,145
Sep 27, 2026 07:54Andrew EpsteinAndrew EpsteinCPPg++14.2.0Success12,871
Sep 27, 2026 07:50Andrew EpsteinAndrew EpsteinCPPg++14.2.0Success14,294
Sep 27, 2026 07:44Andrew EpsteinAndrew EpsteinCPPg++14.2.0Success2,220+48.18 RP
Sep 27, 2026 07:44Andrew EpsteinAndrew EpsteinCPPg++14.2.0Success19,592
Sep 27, 2026 07:44Andrew EpsteinAndrew EpsteinCPPg++14.2.0Success19,487
Sep 27, 2026 07:40Andrew EpsteinAndrew EpsteinCPPg++14.2.0Success13,046
Sep 27, 2026 07:38Andrew EpsteinAndrew EpsteinCPPg++14.2.0Success13,028
Sep 27, 2026 00:56Andrew EpsteinAndrew EpsteinCPPg++14.2.0Success25,822
Sep 27, 2026 00:53Andrew EpsteinAndrew EpsteinCPPg++14.2.0Success24,201
Sep 27, 2026 00:37Andrew EpsteinAndrew EpsteinCPPg++14.2.0Success14,039
Sep 27, 2026 00:35Andrew EpsteinAndrew EpsteinCPPg++14.2.0Success26,130
Sep 26, 2026 22:57Andrew EpsteinAndrew EpsteinCPPg++14.2.0Success2,244+62.65 RP
Sep 26, 2026 22:52Andrew EpsteinAndrew EpsteinCPPg++14.2.0Success27,507
Sep 26, 2026 22:46Andrew EpsteinAndrew EpsteinCPPg++14.2.0Success19,639
Sep 26, 2026 21:48Andrew EpsteinAndrew EpsteinCPPg++14.2.0Success19,926
Sep 26, 2026 21:41Andrew EpsteinAndrew EpsteinCPPg++14.2.0Success20,177
Sep 26, 2026 21:38Andrew EpsteinAndrew EpsteinCPPg++14.2.0Success21,193
Sep 26, 2026 21:34Andrew EpsteinAndrew EpsteinCPPg++14.2.0Success2,276+66.54 RP
Sep 26, 2026 21:29Andrew EpsteinAndrew EpsteinCPPg++14.2.0Success20,143