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
Back to listMar 30, 2026 15:21olliecrowolliecrowScore: 3,170Success
Source Code

Source code access is restricted. Log in to request access.

Challenge History

No challenges yet.

Run Statistics
#DateScoreWall TimeCPU UserCPU SystemMemoryError
1Mar 30, 2026 15:233,14567,587,74533,579,0001,017,0002,277,376
2Mar 30, 2026 15:183,14861,414,40934,630,00002,277,376
3Mar 30, 2026 15:193,14966,228,40933,621,0001,018,0002,387,968
4Mar 30, 2026 15:313,15062,585,40233,631,0001,019,0002,277,376
5Mar 30, 2026 15:233,15061,688,57033,636,0001,019,0002,404,352
6Mar 30, 2026 15:283,15163,332,67533,644,0001,019,0002,400,256
7Mar 30, 2026 15:273,15459,793,31934,692,00002,396,160
8Mar 30, 2026 15:313,15558,789,24034,710,00002,396,160
9Mar 30, 2026 15:193,15561,080,19434,700,00002,400,256
10Mar 30, 2026 15:223,15661,588,66534,714,00002,277,376
11Mar 30, 2026 15:193,15761,590,66134,725,00002,277,376
12Mar 30, 2026 15:223,16662,902,71133,830,000995,0002,387,968
13Mar 30, 2026 15:263,16766,475,90833,842,000995,0002,392,064
14Mar 30, 2026 15:243,16764,002,68233,844,000995,0002,277,376
15Mar 30, 2026 15:243,16759,834,83432,842,0001,990,0002,277,376
16Mar 30, 2026 15:283,16760,429,36733,843,000995,0002,277,376
17Mar 30, 2026 15:293,16757,009,93932,842,0001,990,0002,519,040
18Mar 30, 2026 15:253,16861,962,62134,852,00002,396,160
19Mar 30, 2026 15:263,16863,223,30733,857,000995,0002,277,376
20Mar 30, 2026 15:253,16862,613,84733,849,000995,0002,277,376
21Mar 30, 2026 15:313,16857,621,95533,856,000995,0002,400,256
22Mar 30, 2026 15:163,16866,307,73634,843,00002,277,376
23Mar 30, 2026 15:163,16866,921,47733,849,000995,0002,396,160
24Mar 30, 2026 15:163,16865,272,79532,862,0001,991,0002,277,376
25Mar 30, 2026 15:183,16859,970,79333,854,000995,0002,400,256
26Mar 30, 2026 15:283,16964,237,47533,868,000996,0002,277,376
27Mar 30, 2026 15:253,16957,907,99632,865,0001,991,0002,277,376
28Mar 30, 2026 15:193,16962,076,94334,859,00002,277,376
29Mar 30, 2026 15:223,17062,027,59533,872,000996,0002,396,160
30Mar 30, 2026 15:243,17057,433,31033,879,000996,0002,277,376
31Mar 30, 2026 15:183,17057,309,51133,876,000996,0002,510,848
32Mar 30, 2026 15:303,17167,320,48933,886,000996,0002,277,376
33Mar 30, 2026 15:213,17165,264,51432,888,0001,993,0002,273,280
34Mar 30, 2026 15:283,17261,957,11733,892,000996,0002,392,064
35Mar 30, 2026 15:203,17257,546,28732,899,0001,993,0002,404,352
36Mar 30, 2026 15:253,17259,729,86932,903,0001,994,0002,277,376
37Mar 30, 2026 15:153,17359,448,57933,904,000997,0002,400,256
38Mar 30, 2026 15:223,17364,249,06633,907,000997,0002,408,448
39Mar 30, 2026 15:223,17457,272,75833,918,000997,0002,408,448
40Mar 30, 2026 15:203,17456,863,84133,913,000997,0002,277,376
41Mar 30, 2026 15:273,17464,207,04732,916,0001,994,0002,404,352
42Mar 30, 2026 15:153,17558,002,22334,930,00002,412,544
43Mar 30, 2026 15:153,17657,268,37733,935,000998,0002,277,376
44Mar 30, 2026 15:283,17663,614,99333,938,000998,0002,277,376
45Mar 30, 2026 15:203,17658,328,87533,935,000998,0002,400,256
46Mar 30, 2026 15:223,17655,289,25233,940,000998,0002,510,848
47Mar 30, 2026 15:293,17757,461,01733,946,000998,0002,277,376
48Mar 30, 2026 15:293,17857,904,38533,961,000998,0002,502,656
49Mar 30, 2026 15:283,17957,018,41933,967,000999,0002,396,160
50Mar 30, 2026 15:263,18260,582,91634,000,0001,000,0002,277,376
51Mar 30, 2026 15:233,18360,609,40033,012,0002,000,0002,392,064
52Mar 30, 2026 15:193,18359,604,46333,016,0002,000,0002,277,376
53Mar 30, 2026 15:303,18459,670,05633,019,0002,001,0002,277,376
54Mar 30, 2026 15:253,18556,085,93333,031,0002,001,0002,502,656
55Mar 30, 2026 15:213,18756,412,44933,051,0002,003,0002,277,376
56Mar 30, 2026 15:303,18758,567,96533,054,0002,003,0002,400,256
57Mar 30, 2026 15:253,18766,284,98534,057,0001,001,0002,400,256
58Mar 30, 2026 15:273,18861,955,37934,070,0001,002,0002,396,160
59Mar 30, 2026 15:213,18855,854,99333,067,0002,004,0002,396,160
60Mar 30, 2026 15:193,19060,225,86833,084,0002,005,0002,277,376