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 03:41olliecrowolliecrowScore: 3,169Success
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 03:433,14556,962,71233,583,0001,017,0002,277,376
2Mar 30, 2026 03:473,14564,593,42633,579,0001,017,0002,404,352
3Mar 30, 2026 03:343,15060,432,28533,630,0001,019,0002,396,160
4Mar 30, 2026 03:473,15063,247,53033,630,0001,019,0002,277,376
5Mar 30, 2026 03:433,15164,994,53433,637,0001,019,0002,400,256
6Mar 30, 2026 03:493,15163,555,08334,661,00002,277,376
7Mar 30, 2026 03:363,15361,873,99433,667,0001,020,0002,400,256
8Mar 30, 2026 03:413,15458,434,05033,675,0001,020,0002,400,256
9Mar 30, 2026 03:443,15464,558,34633,670,0001,020,0002,404,352
10Mar 30, 2026 03:473,15464,127,42133,675,0001,020,0002,396,160
11Mar 30, 2026 03:483,15665,252,29434,714,00002,392,064
12Mar 30, 2026 03:363,16361,345,79733,796,000994,0002,277,376
13Mar 30, 2026 03:483,16559,935,63833,826,000994,0002,277,376
14Mar 30, 2026 03:383,16764,829,89134,835,00002,277,376
15Mar 30, 2026 03:383,16759,449,68834,836,00002,400,256
16Mar 30, 2026 03:483,16770,090,78732,851,0001,991,0002,277,376
17Mar 30, 2026 03:363,16761,650,88932,846,0001,990,0002,277,376
18Mar 30, 2026 03:443,16860,882,85633,857,000995,0002,277,376
19Mar 30, 2026 03:433,16864,860,37133,851,000995,0002,277,376
20Mar 30, 2026 03:423,16867,195,14232,861,0001,991,0002,400,256
21Mar 30, 2026 03:423,16863,422,57633,857,000995,0002,277,376
22Mar 30, 2026 03:423,16866,733,51132,860,0001,991,0002,277,376
23Mar 30, 2026 03:413,16861,965,18333,855,000995,0002,277,376
24Mar 30, 2026 03:363,16863,539,61233,857,000995,0002,277,376
25Mar 30, 2026 03:453,16959,108,67334,857,00002,277,376
26Mar 30, 2026 03:453,16968,918,08534,858,00002,392,064
27Mar 30, 2026 03:463,16964,364,14332,866,0001,991,0002,277,376
28Mar 30, 2026 03:473,16964,579,98033,866,000996,0002,277,376
29Mar 30, 2026 03:343,16963,835,73933,864,000996,0002,273,280
30Mar 30, 2026 03:493,16958,553,10032,866,0001,991,0002,400,256
31Mar 30, 2026 03:483,16963,832,09434,855,00002,396,160
32Mar 30, 2026 03:383,16966,225,36932,869,0001,992,0002,396,160
33Mar 30, 2026 03:483,17061,647,77933,875,000996,0002,277,376
34Mar 30, 2026 03:413,17060,475,60533,871,000996,0002,277,376
35Mar 30, 2026 03:353,17159,317,48232,885,0001,993,0002,277,376
36Mar 30, 2026 03:473,17164,974,73332,885,0001,993,0002,277,376
37Mar 30, 2026 03:343,17161,396,02332,889,0001,993,0002,277,376
38Mar 30, 2026 03:363,17357,716,54933,907,000997,0002,277,376
39Mar 30, 2026 03:423,17358,037,36233,905,000997,0002,404,352
40Mar 30, 2026 03:353,17563,567,44333,925,000997,0002,277,376
41Mar 30, 2026 03:363,17559,728,53032,934,0001,996,0002,277,376
42Mar 30, 2026 03:453,17560,245,15332,928,0001,995,0002,408,448
43Mar 30, 2026 03:463,17657,729,46132,941,0001,996,0002,396,160
44Mar 30, 2026 03:423,17657,554,90633,943,000998,0002,408,448
45Mar 30, 2026 03:413,17757,091,97832,951,0001,997,0002,277,376
46Mar 30, 2026 03:443,17762,020,23833,954,000998,0002,498,560
47Mar 30, 2026 03:453,17759,261,68733,953,000998,0002,400,256
48Mar 30, 2026 03:443,17760,803,36832,948,0001,996,0002,277,376
49Mar 30, 2026 03:443,17861,667,29632,966,0001,997,0002,408,448
50Mar 30, 2026 03:453,18063,100,93133,981,000999,0002,277,376
51Mar 30, 2026 03:473,18164,967,68632,994,0001,999,0002,277,376
52Mar 30, 2026 03:443,18156,207,16233,993,000999,0002,277,376
53Mar 30, 2026 03:413,18260,899,02333,000,0002,000,0002,277,376
54Mar 30, 2026 03:463,18456,351,11733,020,0002,001,0002,392,064
55Mar 30, 2026 03:423,18458,307,33834,019,0001,000,0002,404,352
56Mar 30, 2026 03:493,18560,195,61033,033,0002,002,0002,400,256
57Mar 30, 2026 03:353,18564,076,33233,035,0002,002,0002,400,256
58Mar 30, 2026 03:413,18561,960,38134,035,0001,001,0002,396,160
59Mar 30, 2026 03:483,18861,927,75933,060,0002,003,0002,482,176
60Mar 30, 2026 03:453,18859,157,18933,062,0002,003,0002,392,064