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 04:40olliecrowolliecrowScore: 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 04:363,14868,633,11634,632,00002,277,376
2Mar 30, 2026 04:393,15169,161,34133,637,0001,019,0002,396,160
3Mar 30, 2026 04:463,15163,904,86834,663,00002,387,968
4Mar 30, 2026 04:383,15257,797,02033,658,0001,019,0002,277,376
5Mar 30, 2026 04:363,15363,468,19533,660,0001,020,0002,396,160
6Mar 30, 2026 04:373,15360,532,79833,667,0001,020,0002,400,256
7Mar 30, 2026 04:433,15467,387,81034,690,00002,277,376
8Mar 30, 2026 04:453,15759,475,49733,710,0001,021,0002,400,256
9Mar 30, 2026 04:393,16364,152,06132,804,0001,988,0002,277,376
10Mar 30, 2026 04:423,16558,575,59433,817,000994,0002,482,176
11Mar 30, 2026 04:403,16659,463,29934,830,00002,400,256
12Mar 30, 2026 04:423,16759,780,97433,838,000995,0002,400,256
13Mar 30, 2026 04:403,16768,730,15132,847,0001,990,0002,404,352
14Mar 30, 2026 04:443,16862,623,64932,861,0001,991,0002,277,376
15Mar 30, 2026 04:443,16861,858,17532,855,0001,991,0002,404,352
16Mar 30, 2026 04:453,16860,972,47233,856,000995,0002,277,376
17Mar 30, 2026 04:393,16862,505,42732,856,0001,991,0002,277,376
18Mar 30, 2026 04:403,16866,611,70433,854,000995,0002,404,352
19Mar 30, 2026 04:383,16867,036,57033,850,000995,0002,404,352
20Mar 30, 2026 04:483,16861,320,40732,859,0001,991,0002,404,352
21Mar 30, 2026 04:463,16862,677,23133,856,000995,0002,277,376
22Mar 30, 2026 04:463,16868,308,75433,855,000995,0002,277,376
23Mar 30, 2026 04:433,16859,566,79132,857,0001,991,0002,277,376
24Mar 30, 2026 04:413,16861,187,15232,852,0001,991,0002,408,448
25Mar 30, 2026 04:413,16865,080,77433,851,000995,0002,277,376
26Mar 30, 2026 04:433,16865,711,35033,852,000995,0002,277,376
27Mar 30, 2026 04:423,16960,020,98034,858,00002,277,376
28Mar 30, 2026 04:433,16965,244,21234,854,00002,404,352
29Mar 30, 2026 04:363,16964,834,85932,865,0001,991,0002,404,352
30Mar 30, 2026 04:473,16968,116,64732,864,0001,991,0002,400,256
31Mar 30, 2026 04:383,16961,812,90633,860,000995,0002,396,160
32Mar 30, 2026 04:383,16963,628,93933,864,000996,0002,400,256
33Mar 30, 2026 04:423,17065,937,70933,874,000996,0002,404,352
34Mar 30, 2026 04:473,17060,477,25032,876,0001,992,0002,400,256
35Mar 30, 2026 04:363,17065,523,94633,876,000996,0002,392,064
36Mar 30, 2026 04:453,17059,292,46534,870,00002,277,376
37Mar 30, 2026 04:463,17156,780,64334,877,00002,277,376
38Mar 30, 2026 04:483,17260,004,41134,890,00002,277,376
39Mar 30, 2026 04:433,17257,483,99932,903,0001,994,0002,478,080
40Mar 30, 2026 04:453,17461,599,70332,915,0001,994,0002,277,376
41Mar 30, 2026 04:373,17557,901,56032,930,0001,995,0002,396,160
42Mar 30, 2026 04:453,17555,800,76032,926,0001,995,0002,400,256
43Mar 30, 2026 04:473,17665,524,64032,935,0001,996,0002,400,256
44Mar 30, 2026 04:433,17657,636,02933,940,000998,0002,400,256
45Mar 30, 2026 04:423,17760,358,97633,949,000998,0002,277,376
46Mar 30, 2026 04:363,17760,268,16633,945,000998,0002,277,376
47Mar 30, 2026 04:443,17760,030,40633,945,000998,0002,277,376
48Mar 30, 2026 04:413,17758,291,33333,944,000998,0002,392,064
49Mar 30, 2026 04:383,17862,526,83132,956,0001,997,0002,277,376
50Mar 30, 2026 04:463,17959,809,64132,972,0001,998,0002,486,272
51Mar 30, 2026 04:383,18063,542,28833,980,000999,0002,277,376
52Mar 30, 2026 04:403,18060,236,55332,977,0001,998,0002,396,160
53Mar 30, 2026 04:403,18159,970,63733,992,000999,0002,400,256
54Mar 30, 2026 04:403,18257,616,26933,003,0002,000,0002,277,376
55Mar 30, 2026 04:363,18457,441,44733,020,0002,001,0002,387,968
56Mar 30, 2026 04:423,18461,170,69334,022,0001,000,0002,277,376
57Mar 30, 2026 04:453,18558,938,57134,039,0001,001,0002,404,352
58Mar 30, 2026 04:463,18557,124,52733,038,0002,002,0002,478,080
59Mar 30, 2026 04:483,19067,958,27132,082,0003,007,0002,273,280
60Mar 30, 2026 04:373,19161,070,98334,095,0001,002,0002,494,464