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:39olliecrowolliecrowScore: 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 19:403,14760,617,51133,604,0001,018,0002,408,448
2Mar 30, 2026 19:393,14965,780,02734,636,00002,277,376
3Mar 30, 2026 19:443,15063,950,27434,645,00002,396,160
4Mar 30, 2026 19:283,15061,409,32734,652,00002,277,376
5Mar 30, 2026 19:273,15260,556,06334,676,00002,400,256
6Mar 30, 2026 19:413,15366,216,52234,684,00002,277,376
7Mar 30, 2026 19:413,15463,602,36434,696,00002,277,376
8Mar 30, 2026 19:413,15469,052,31932,649,0002,040,0002,273,280
9Mar 30, 2026 19:443,15568,181,54734,704,00002,277,376
10Mar 30, 2026 19:373,16560,774,79932,830,0001,989,0002,273,280
11Mar 30, 2026 19:403,16765,968,85432,842,0001,990,0002,277,376
12Mar 30, 2026 19:413,16763,282,23333,846,000995,0002,400,256
13Mar 30, 2026 19:333,16770,895,08433,846,000995,0002,277,376
14Mar 30, 2026 19:433,16763,669,10332,843,0001,990,0002,404,352
15Mar 30, 2026 19:413,16864,413,36333,854,000995,0002,277,376
16Mar 30, 2026 19:363,16868,254,32332,857,0001,991,0002,400,256
17Mar 30, 2026 19:383,16860,546,92633,851,000995,0002,408,448
18Mar 30, 2026 19:363,16863,888,26633,852,000995,0002,277,376
19Mar 30, 2026 19:353,16867,463,02933,850,000995,0002,392,064
20Mar 30, 2026 19:283,16860,771,57633,856,000995,0002,404,352
21Mar 30, 2026 19:413,16963,996,67332,864,0001,991,0002,277,376
22Mar 30, 2026 19:373,16964,712,60332,867,0001,991,0002,277,376
23Mar 30, 2026 19:433,16963,161,67433,860,000995,0002,277,376
24Mar 30, 2026 19:383,17070,575,26832,881,0001,992,0002,277,376
25Mar 30, 2026 19:463,17064,863,53232,875,0001,992,0002,396,160
26Mar 30, 2026 19:283,17063,898,34733,876,000996,0002,408,448
27Mar 30, 2026 19:463,17061,259,87833,871,000996,0002,404,352
28Mar 30, 2026 19:353,17159,031,90733,885,000996,0002,400,256
29Mar 30, 2026 19:453,17162,085,13632,891,0001,993,0002,277,376
30Mar 30, 2026 19:313,17163,227,23832,884,0001,993,0002,277,376
31Mar 30, 2026 19:403,17157,713,60232,893,0001,993,0002,277,376
32Mar 30, 2026 19:373,17257,199,49533,891,000996,0002,277,376
33Mar 30, 2026 19:423,17255,711,94833,866,0001,026,0002,277,376
34Mar 30, 2026 19:423,17363,434,73133,909,000997,0002,396,160
35Mar 30, 2026 19:313,17560,371,93833,932,000998,0002,277,376
36Mar 30, 2026 19:453,17558,259,77032,928,0001,995,0002,404,352
37Mar 30, 2026 19:353,17559,779,49332,932,0001,995,0002,400,256
38Mar 30, 2026 19:423,17559,816,54032,926,0001,995,0002,396,160
39Mar 30, 2026 19:463,17657,842,27632,938,0001,996,0002,396,160
40Mar 30, 2026 19:453,17763,729,67833,952,000998,0002,277,376
41Mar 30, 2026 19:313,17756,355,33732,953,0001,997,0002,277,376
42Mar 30, 2026 19:313,17863,547,96433,959,000998,0002,277,376
43Mar 30, 2026 19:273,17861,469,98432,960,0001,997,0002,277,376
44Mar 30, 2026 19:383,17960,778,43132,969,0001,998,0002,404,352
45Mar 30, 2026 19:333,17958,332,64633,972,000999,0002,404,352
46Mar 30, 2026 19:313,17960,292,36532,969,0001,998,0002,277,376
47Mar 30, 2026 19:443,17959,212,51832,970,0001,998,0002,277,376
48Mar 30, 2026 19:393,18063,809,26732,980,0001,998,0002,277,376
49Mar 30, 2026 19:363,18060,320,17933,979,000999,0002,277,376
50Mar 30, 2026 19:393,18157,533,65133,987,000999,0002,400,256
51Mar 30, 2026 19:333,18158,104,16432,994,0001,999,0002,396,160
52Mar 30, 2026 19:433,18356,224,72634,018,0001,000,0002,273,280
53Mar 30, 2026 19:273,18463,276,11834,028,0001,000,0002,277,376
54Mar 30, 2026 19:313,18663,228,41934,045,0001,001,0002,400,256