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 02:48olliecrowolliecrowScore: 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 02:533,14863,656,49733,612,0001,018,0002,277,376
2Mar 30, 2026 02:453,14958,979,46633,619,0001,018,0002,392,064
3Mar 30, 2026 02:513,15062,940,58133,629,0001,019,0002,277,376
4Mar 30, 2026 02:463,15468,239,25233,676,0001,020,0002,277,376
5Mar 30, 2026 02:523,15666,065,13834,717,00002,277,376
6Mar 30, 2026 02:493,16066,271,58032,775,0001,986,0002,486,272
7Mar 30, 2026 02:493,16462,880,50732,819,0001,989,0002,277,376
8Mar 30, 2026 02:533,16661,797,20732,836,0001,990,0002,277,376
9Mar 30, 2026 02:463,16762,870,24133,840,000995,0002,396,160
10Mar 30, 2026 02:493,16760,712,18032,846,0001,990,0002,277,376
11Mar 30, 2026 02:513,16768,006,58833,838,000995,0002,277,376
12Mar 30, 2026 02:443,16763,168,83532,849,0001,990,0002,277,376
13Mar 30, 2026 02:533,16759,714,29032,847,0001,990,0002,396,160
14Mar 30, 2026 02:543,16863,121,38032,855,0001,991,0002,277,376
15Mar 30, 2026 02:493,16863,425,66934,846,00002,404,352
16Mar 30, 2026 02:443,16862,721,86132,853,0001,991,0002,396,160
17Mar 30, 2026 02:543,16860,631,22933,855,000995,0002,277,376
18Mar 30, 2026 02:493,16863,587,20532,852,0001,991,0002,277,376
19Mar 30, 2026 02:463,16865,373,57233,851,000995,0002,277,376
20Mar 30, 2026 02:523,16864,795,63133,852,000995,0002,400,256
21Mar 30, 2026 02:523,16863,497,35432,858,0001,991,0002,277,376
22Mar 30, 2026 02:533,16866,991,82533,852,000995,0002,277,376
23Mar 30, 2026 02:453,16868,930,36634,849,00002,277,376
24Mar 30, 2026 02:493,16962,724,68633,864,000996,0002,277,376
25Mar 30, 2026 02:503,16962,849,69833,861,000995,0002,277,376
26Mar 30, 2026 02:473,16968,024,35234,857,00002,396,160
27Mar 30, 2026 02:503,16967,015,18832,867,0001,991,0002,277,376
28Mar 30, 2026 02:443,16965,108,47532,864,0001,991,0002,396,160
29Mar 30, 2026 02:533,16959,416,12433,860,000995,0002,277,376
30Mar 30, 2026 02:483,16960,137,59732,872,0001,992,0002,392,064
31Mar 30, 2026 02:513,16959,595,22932,864,0001,991,0002,400,256
32Mar 30, 2026 02:513,16958,990,68633,867,000996,0002,392,064
33Mar 30, 2026 02:433,17062,709,76432,883,0001,992,0002,396,160
34Mar 30, 2026 02:483,17061,943,49232,875,0001,992,0002,277,376
35Mar 30, 2026 02:513,17065,972,72932,877,0001,992,0002,486,272
36Mar 30, 2026 02:483,17164,943,62832,887,0001,993,0002,277,376
37Mar 30, 2026 02:443,17160,752,96332,884,0001,992,0002,400,256
38Mar 30, 2026 02:453,17169,495,47734,876,00002,404,352
39Mar 30, 2026 02:463,17262,152,28233,892,000996,0002,506,752
40Mar 30, 2026 02:423,17257,393,99333,899,000997,0002,510,848
41Mar 30, 2026 02:453,17355,667,50532,910,0001,994,0002,396,160
42Mar 30, 2026 02:473,17458,465,98733,918,000997,0002,277,376
43Mar 30, 2026 02:423,17555,547,52832,928,0001,995,0002,277,376
44Mar 30, 2026 02:463,17560,911,21533,926,000997,0002,277,376
45Mar 30, 2026 02:433,17567,885,52632,930,0001,995,0002,277,376
46Mar 30, 2026 02:433,17564,282,89532,931,0001,995,0002,277,376
47Mar 30, 2026 02:513,17661,841,82532,941,0001,996,0002,396,160
48Mar 30, 2026 02:443,17666,565,97632,942,0001,996,0002,277,376
49Mar 30, 2026 02:503,17758,027,58933,944,000998,0002,400,256
50Mar 30, 2026 02:423,17857,510,50432,962,0001,997,0002,277,376
51Mar 30, 2026 02:473,17862,008,11233,963,000998,0002,277,376
52Mar 30, 2026 02:483,17962,539,62533,966,000999,0002,277,376
53Mar 30, 2026 02:453,17965,594,47533,966,000999,0002,277,376
54Mar 30, 2026 02:483,18062,785,57232,982,0001,998,0002,277,376
55Mar 30, 2026 02:463,18059,360,20032,983,0001,998,0002,277,376
56Mar 30, 2026 02:533,18058,020,40233,984,000999,0002,396,160
57Mar 30, 2026 02:453,18161,598,70633,996,000999,0002,404,352
58Mar 30, 2026 02:483,18361,521,94734,008,0001,000,0002,400,256
59Mar 30, 2026 02:543,18364,494,25034,018,0001,000,0002,400,256
60Mar 30, 2026 02:443,18557,041,63733,031,0002,001,0002,396,160