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 13:44olliecrowolliecrowScore: 3,171Success
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 13:433,14959,721,23233,617,0001,018,0002,396,160
2Mar 30, 2026 13:413,15063,974,01333,630,0001,019,0002,277,376
3Mar 30, 2026 13:383,15264,264,48833,649,0001,019,0002,277,376
4Mar 30, 2026 13:393,15365,304,92034,686,00002,277,376
5Mar 30, 2026 13:323,15360,845,53733,667,0001,020,0002,387,968
6Mar 30, 2026 13:393,15460,297,34733,675,0001,020,0002,277,376
7Mar 30, 2026 13:343,15463,234,15233,672,0001,020,0002,396,160
8Mar 30, 2026 13:333,15561,993,40634,709,00002,277,376
9Mar 30, 2026 13:393,15564,547,33433,685,0001,020,0002,277,376
10Mar 30, 2026 13:363,16257,792,25833,760,0001,023,0002,478,080
11Mar 30, 2026 13:353,16257,118,86332,790,0001,987,0002,400,256
12Mar 30, 2026 13:373,16359,227,46132,807,0001,988,0002,277,376
13Mar 30, 2026 13:413,16458,327,65532,819,0001,989,0002,277,376
14Mar 30, 2026 13:363,16460,712,98732,820,0001,989,0002,277,376
15Mar 30, 2026 13:333,16460,982,27232,813,0001,988,0002,277,376
16Mar 30, 2026 13:383,16561,534,73133,817,000994,0002,277,376
17Mar 30, 2026 13:433,16662,167,85633,834,000995,0002,277,376
18Mar 30, 2026 13:403,16661,601,19834,829,00002,277,376
19Mar 30, 2026 13:453,16660,820,78333,831,000995,0002,486,272
20Mar 30, 2026 13:433,16761,055,03132,844,0001,990,0002,396,160
21Mar 30, 2026 13:353,16760,009,11832,849,0001,990,0002,273,280
22Mar 30, 2026 13:343,16764,700,81433,843,000995,0002,277,376
23Mar 30, 2026 13:423,16759,638,93034,836,00002,277,376
24Mar 30, 2026 13:393,16859,320,02132,862,0001,991,0002,400,256
25Mar 30, 2026 13:393,16963,180,38033,861,000995,0002,400,256
26Mar 30, 2026 13:423,16968,075,16234,857,00002,392,064
27Mar 30, 2026 13:363,16964,675,42433,864,000996,0002,277,376
28Mar 30, 2026 13:433,16966,264,71032,867,0001,991,0002,396,160
29Mar 30, 2026 13:443,16958,748,64333,859,000995,0002,510,848
30Mar 30, 2026 13:453,16965,932,33932,869,0001,992,0002,277,376
31Mar 30, 2026 13:363,17155,939,60833,858,0001,026,0002,277,376
32Mar 30, 2026 13:313,17159,673,10432,886,0001,993,0002,396,160
33Mar 30, 2026 13:413,17259,928,03933,892,000996,0002,400,256
34Mar 30, 2026 13:313,17260,970,23032,903,0001,994,0002,392,064
35Mar 30, 2026 13:423,17259,545,55332,897,0001,993,0002,277,376
36Mar 30, 2026 13:313,17360,586,37132,909,0001,994,0002,277,376
37Mar 30, 2026 13:343,17360,776,15732,910,0001,994,0002,412,544
38Mar 30, 2026 13:323,17562,440,90532,931,0001,995,0002,392,064
39Mar 30, 2026 13:453,17756,416,92133,950,000998,0002,277,376
40Mar 30, 2026 13:403,17763,588,07132,951,0001,997,0002,400,256
41Mar 30, 2026 13:373,17762,837,50332,953,0001,997,0002,277,376
42Mar 30, 2026 13:343,17757,618,91833,951,000998,0002,277,376
43Mar 30, 2026 13:413,17763,060,30532,954,0001,997,0002,408,448
44Mar 30, 2026 13:353,17762,590,64034,944,00002,277,376
45Mar 30, 2026 13:383,17857,753,76133,959,000998,0002,277,376
46Mar 30, 2026 13:333,17961,720,27233,975,000999,0002,277,376
47Mar 30, 2026 13:433,17962,414,73533,970,000999,0002,277,376
48Mar 30, 2026 13:343,18054,119,52033,976,000999,0002,277,376
49Mar 30, 2026 13:433,18157,661,71833,993,000999,0002,277,376
50Mar 30, 2026 13:363,18261,048,12433,999,000999,0002,277,376
51Mar 30, 2026 13:443,18260,145,86633,004,0002,000,0002,408,448
52Mar 30, 2026 13:323,18360,926,45834,017,0001,000,0002,277,376
53Mar 30, 2026 13:443,18356,396,21234,013,0001,000,0002,392,064
54Mar 30, 2026 13:363,18461,525,71633,021,0002,001,0002,277,376
55Mar 30, 2026 13:413,18459,489,85433,021,0002,001,0002,277,376
56Mar 30, 2026 13:413,18462,200,76933,027,0002,001,0002,277,376
57Mar 30, 2026 13:373,18756,822,27433,057,0002,003,0002,392,064
58Mar 30, 2026 13:403,18959,438,46233,074,0002,004,0002,277,376
59Mar 30, 2026 13:343,19760,567,22135,165,00002,396,160
60Mar 30, 2026 13:393,19858,916,08533,166,0002,010,0002,273,280