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 05:20olliecrowolliecrowScore: 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 05:233,14959,644,94734,640,00002,404,352
2Mar 30, 2026 05:183,15162,024,71733,647,0001,019,0002,404,352
3Mar 30, 2026 05:173,15360,401,89234,684,00002,277,376
4Mar 30, 2026 05:213,15462,024,32233,669,0001,020,0002,277,376
5Mar 30, 2026 05:223,15565,565,06733,684,0001,020,0002,277,376
6Mar 30, 2026 05:273,15560,031,27633,683,0001,020,0002,277,376
7Mar 30, 2026 05:243,15761,077,95934,724,00002,392,064
8Mar 30, 2026 05:203,15868,201,81933,712,0001,021,0002,277,376
9Mar 30, 2026 05:263,16263,451,82833,794,000993,0002,510,848
10Mar 30, 2026 05:223,16462,862,52133,815,000994,0002,277,376
11Mar 30, 2026 05:173,16659,457,17632,836,0001,990,0002,404,352
12Mar 30, 2026 05:183,16658,575,78032,836,0001,990,0002,396,160
13Mar 30, 2026 05:243,16760,467,68033,841,000995,0002,277,376
14Mar 30, 2026 05:233,16761,984,09334,839,00002,277,376
15Mar 30, 2026 05:163,16765,146,10433,840,000995,0002,277,376
16Mar 30, 2026 05:233,16862,002,35432,862,0001,991,0002,277,376
17Mar 30, 2026 05:273,16864,843,91334,848,00002,277,376
18Mar 30, 2026 05:223,16861,095,45033,849,000995,0002,396,160
19Mar 30, 2026 05:233,16863,782,59334,843,00002,277,376
20Mar 30, 2026 05:263,16965,212,63633,860,000995,0002,281,472
21Mar 30, 2026 05:193,16960,502,59332,865,0001,991,0002,400,256
22Mar 30, 2026 05:163,16960,981,24532,866,0001,991,0002,502,656
23Mar 30, 2026 05:253,16963,108,51232,864,0001,991,0002,408,448
24Mar 30, 2026 05:203,16967,032,69733,859,000995,0002,277,376
25Mar 30, 2026 05:203,16961,747,79732,863,0001,991,0002,392,064
26Mar 30, 2026 05:213,16960,833,89233,860,000995,0002,277,376
27Mar 30, 2026 05:183,16965,740,07532,867,0001,991,0002,396,160
28Mar 30, 2026 05:243,16963,112,69832,868,0001,992,0002,396,160
29Mar 30, 2026 05:243,16961,098,49433,863,000995,0002,490,368
30Mar 30, 2026 05:253,17061,741,23133,874,000996,0002,277,376
31Mar 30, 2026 05:183,17071,174,74233,879,000996,0002,396,160
32Mar 30, 2026 05:263,17058,014,74833,871,000996,0002,277,376
33Mar 30, 2026 05:183,17158,239,47332,884,0001,993,0002,400,256
34Mar 30, 2026 05:263,17257,107,32133,894,000996,0002,277,376
35Mar 30, 2026 05:163,17262,116,27132,894,0001,993,0002,400,256
36Mar 30, 2026 05:213,17357,656,84032,907,0001,994,0002,400,256
37Mar 30, 2026 05:183,17360,763,43133,906,000997,0002,404,352
38Mar 30, 2026 05:163,17358,438,88732,913,0001,994,0002,273,280
39Mar 30, 2026 05:243,17357,055,91232,906,0001,994,0002,277,376
40Mar 30, 2026 05:193,17561,801,81932,928,0001,995,0002,277,376
41Mar 30, 2026 05:153,17557,805,49833,931,000997,0002,281,472
42Mar 30, 2026 05:243,17662,357,76133,935,000998,0002,277,376
43Mar 30, 2026 05:273,17657,671,00232,938,0001,996,0002,400,256
44Mar 30, 2026 05:213,17658,163,08133,942,000998,0002,392,064
45Mar 30, 2026 05:213,17763,228,72233,947,000998,0002,277,376
46Mar 30, 2026 05:263,17956,367,64133,966,000999,0002,400,256
47Mar 30, 2026 05:203,17960,294,05033,967,000999,0002,396,160
48Mar 30, 2026 05:153,18056,923,97533,981,000999,0002,400,256
49Mar 30, 2026 05:233,18060,042,23431,978,0002,997,0002,273,280
50Mar 30, 2026 05:233,18154,480,09332,988,0001,999,0002,277,376
51Mar 30, 2026 05:213,18260,265,22433,005,0002,000,0002,404,352
52Mar 30, 2026 05:263,18263,070,25132,999,0001,999,0002,277,376
53Mar 30, 2026 05:163,18257,269,10833,004,0002,000,0002,478,080
54Mar 30, 2026 05:203,18361,869,28234,014,0001,000,0002,400,256
55Mar 30, 2026 05:253,18460,806,25833,025,0002,001,0002,277,376
56Mar 30, 2026 05:203,18555,283,82934,034,0001,001,0002,490,368
57Mar 30, 2026 05:153,18565,622,97534,034,0001,001,0002,392,064
58Mar 30, 2026 05:193,18661,077,39533,040,0002,002,0002,400,256
59Mar 30, 2026 05:173,18758,597,33334,055,0001,001,0002,396,160
60Mar 30, 2026 05:163,19164,598,95834,101,0001,002,0002,273,280