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 19:11olliecrowolliecrowScore: 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 19:053,14860,093,74334,629,00002,277,376
2Mar 30, 2026 19:163,15061,873,31233,634,0001,019,0002,277,376
3Mar 30, 2026 19:073,15064,012,21834,646,00002,277,376
4Mar 30, 2026 19:093,15164,250,27333,640,0001,019,0002,277,376
5Mar 30, 2026 18:593,15262,521,56334,670,00002,400,256
6Mar 30, 2026 19:063,15268,405,34834,677,00002,392,064
7Mar 30, 2026 19:063,15263,555,21633,652,0001,019,0002,367,488
8Mar 30, 2026 19:083,15459,301,52032,708,0001,982,0002,277,376
9Mar 30, 2026 19:073,15460,491,48334,689,00002,400,256
10Mar 30, 2026 19:113,15461,788,04033,676,0001,020,0002,277,376
11Mar 30, 2026 19:033,15560,932,30734,704,00002,277,376
12Mar 30, 2026 18:563,15660,798,69933,695,0001,021,0002,277,376
13Mar 30, 2026 19:093,15664,274,27334,712,00002,277,376
14Mar 30, 2026 19:153,15661,208,24733,692,0001,020,0002,396,160
15Mar 30, 2026 19:113,16662,504,13832,838,0001,990,0002,277,376
16Mar 30, 2026 19:013,16660,064,99733,828,000994,0002,277,376
17Mar 30, 2026 19:123,16767,640,19332,850,0001,990,0002,277,376
18Mar 30, 2026 19:153,16761,522,01032,847,0001,990,0002,392,064
19Mar 30, 2026 19:053,16760,265,39133,817,0001,024,0002,277,376
20Mar 30, 2026 19:053,16857,319,48232,858,0001,991,0002,486,272
21Mar 30, 2026 19:013,16865,439,08233,854,000995,0002,404,352
22Mar 30, 2026 19:133,16860,750,68433,853,000995,0002,404,352
23Mar 30, 2026 19:003,16862,228,81732,859,0001,991,0002,404,352
24Mar 30, 2026 19:083,16859,103,00833,849,000995,0002,273,280
25Mar 30, 2026 19:043,16866,098,13032,855,0001,991,0002,392,064
26Mar 30, 2026 19:073,16863,229,85833,852,000995,0002,510,848
27Mar 30, 2026 19:093,16969,020,20732,868,0001,992,0002,277,376
28Mar 30, 2026 19:133,16964,549,04832,865,0001,991,0002,277,376
29Mar 30, 2026 19:143,16968,697,15632,872,0001,992,0002,277,376
30Mar 30, 2026 19:123,16960,666,39532,871,0001,992,0002,277,376
31Mar 30, 2026 18:563,16960,039,53434,857,00002,486,272
32Mar 30, 2026 19:053,16964,469,83433,865,000996,0002,277,376
33Mar 30, 2026 19:053,16959,138,42533,865,000996,0002,277,376
34Mar 30, 2026 19:043,16955,889,42232,867,0001,991,0002,396,160
35Mar 30, 2026 19:063,17062,885,70133,870,000996,0002,400,256
36Mar 30, 2026 19:003,17065,626,42632,877,0001,992,0002,404,352
37Mar 30, 2026 19:043,17164,128,02632,885,0001,993,0002,277,376
38Mar 30, 2026 19:033,17157,567,12033,890,000996,0002,396,160
39Mar 30, 2026 19:013,17256,629,96133,870,0001,026,0002,400,256
40Mar 30, 2026 18:563,17362,164,51232,910,0001,994,0002,277,376
41Mar 30, 2026 19:133,17361,119,54833,902,000997,0002,277,376
42Mar 30, 2026 19:033,17457,712,03232,922,0001,995,0002,404,352
43Mar 30, 2026 19:083,17559,222,87033,926,000997,0002,277,376
44Mar 30, 2026 19:163,17662,343,55833,937,000998,0002,408,448
45Mar 30, 2026 19:053,17660,851,77633,939,000998,0002,277,376
46Mar 30, 2026 18:593,17659,074,85733,935,000998,0002,400,256
47Mar 30, 2026 19:143,17757,422,73533,946,000998,0002,396,160
48Mar 30, 2026 19:103,17859,289,13733,956,000998,0002,277,376
49Mar 30, 2026 19:163,17957,712,80532,973,0001,998,0002,277,376
50Mar 30, 2026 19:153,17957,418,36233,974,000999,0002,277,376
51Mar 30, 2026 19:113,17957,994,90933,970,000999,0002,396,160
52Mar 30, 2026 19:103,18162,717,53832,991,0001,999,0002,400,256
53Mar 30, 2026 19:143,18357,823,29033,017,0002,001,0002,404,352
54Mar 30, 2026 18:593,18361,367,11034,015,0001,000,0002,277,376
55Mar 30, 2026 19:113,18458,022,85333,026,0002,001,0002,277,376
56Mar 30, 2026 19:003,18560,228,42633,035,0002,002,0002,396,160
57Mar 30, 2026 19:103,18561,291,27333,032,0002,001,0002,396,160
58Mar 30, 2026 19:113,18658,824,50134,045,0001,001,0002,519,040
59Mar 30, 2026 19:123,18758,527,87635,058,00002,400,256
60Mar 30, 2026 19:113,18771,316,44133,056,0002,003,0002,277,376