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 16:53olliecrowolliecrowScore: 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 16:403,15262,268,31033,652,0001,019,0002,392,064
2Mar 30, 2026 16:513,15262,094,70733,650,0001,019,0002,400,256
3Mar 30, 2026 16:453,15359,822,25433,662,0001,020,0002,277,376
4Mar 30, 2026 16:473,15362,411,32633,666,0001,020,0002,277,376
5Mar 30, 2026 16:423,15363,571,69933,660,0001,020,0002,396,160
6Mar 30, 2026 16:533,15460,258,53734,689,00002,277,376
7Mar 30, 2026 16:473,15465,985,07733,677,0001,020,0002,277,376
8Mar 30, 2026 16:403,15465,513,86234,694,00002,277,376
9Mar 30, 2026 16:513,15463,641,60134,694,00002,277,376
10Mar 30, 2026 16:393,16359,138,23832,803,0001,988,0002,396,160
11Mar 30, 2026 16:473,16461,743,57533,808,000994,0002,400,256
12Mar 30, 2026 16:503,16464,275,26932,820,0001,989,0002,277,376
13Mar 30, 2026 16:433,16564,269,92633,825,000994,0002,277,376
14Mar 30, 2026 16:383,16658,522,19433,834,000995,0002,277,376
15Mar 30, 2026 16:393,16763,443,62532,843,0001,990,0002,277,376
16Mar 30, 2026 16:393,16762,028,56933,837,000995,0002,277,376
17Mar 30, 2026 16:433,16759,702,79733,841,000995,0002,277,376
18Mar 30, 2026 16:443,16764,536,34933,840,000995,0002,400,256
19Mar 30, 2026 16:443,16759,957,45932,848,0001,990,0002,396,160
20Mar 30, 2026 16:463,16764,601,86933,847,000995,0002,277,376
21Mar 30, 2026 16:493,16859,086,68432,862,0001,991,0002,277,376
22Mar 30, 2026 16:513,16860,604,06933,854,000995,0002,277,376
23Mar 30, 2026 16:483,16864,789,76232,861,0001,991,0002,277,376
24Mar 30, 2026 16:483,16861,396,27933,851,000995,0002,273,280
25Mar 30, 2026 16:513,16864,182,85933,858,000995,0002,396,160
26Mar 30, 2026 16:523,16864,535,41233,854,000995,0002,277,376
27Mar 30, 2026 16:463,16863,479,35632,853,0001,991,0002,404,352
28Mar 30, 2026 16:383,16863,238,55534,848,00002,408,448
29Mar 30, 2026 16:453,16863,488,06433,855,000995,0002,396,160
30Mar 30, 2026 16:453,16965,693,31233,868,000996,0002,396,160
31Mar 30, 2026 16:383,16968,435,91632,865,0001,991,0002,277,376
32Mar 30, 2026 16:413,16961,175,64334,856,00002,277,376
33Mar 30, 2026 16:493,16962,203,31633,864,000996,0002,510,848
34Mar 30, 2026 16:493,16959,184,94533,862,000995,0002,277,376
35Mar 30, 2026 16:433,16963,219,94333,859,000995,0002,396,160
36Mar 30, 2026 16:473,17061,058,67632,873,0001,992,0002,404,352
37Mar 30, 2026 16:503,17061,176,57233,869,000996,0002,277,376
38Mar 30, 2026 16:413,17058,576,41232,879,0001,992,0002,400,256
39Mar 30, 2026 16:433,17157,638,04334,880,00002,404,352
40Mar 30, 2026 16:483,17561,565,65233,932,000998,0002,404,352
41Mar 30, 2026 16:433,17565,325,98232,927,0001,995,0002,392,064
42Mar 30, 2026 16:503,17657,650,37233,934,000998,0002,396,160
43Mar 30, 2026 16:393,17662,203,22432,944,0001,996,0002,277,376
44Mar 30, 2026 16:513,17663,645,50533,935,000998,0002,277,376
45Mar 30, 2026 16:423,17661,863,97632,943,0001,996,0002,277,376
46Mar 30, 2026 16:403,17757,966,61432,952,0001,997,0002,400,256
47Mar 30, 2026 16:523,17758,273,52632,948,0001,996,0002,277,376
48Mar 30, 2026 16:393,17857,707,12633,960,000998,0002,277,376
49Mar 30, 2026 16:423,17865,435,98632,958,0001,997,0002,277,376
50Mar 30, 2026 16:533,18058,537,51533,979,000999,0002,277,376
51Mar 30, 2026 16:463,18160,204,94132,993,0001,999,0002,277,376
52Mar 30, 2026 16:433,18158,156,01532,993,0001,999,0002,277,376
53Mar 30, 2026 16:473,18262,268,25233,000,0002,000,0002,277,376
54Mar 30, 2026 16:513,18359,062,14533,011,0002,000,0002,277,376
55Mar 30, 2026 16:393,18356,870,43834,016,0001,000,0002,490,368
56Mar 30, 2026 16:533,18356,301,63533,008,0002,000,0002,277,376
57Mar 30, 2026 16:473,18758,768,74833,051,0002,003,0002,396,160
58Mar 30, 2026 16:523,18761,000,23533,058,0002,003,0002,277,376
59Mar 30, 2026 16:443,18762,659,98534,055,0001,001,0002,277,376
60Mar 30, 2026 16:413,19155,567,70934,102,0001,003,0002,449,408