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 07:31olliecrowolliecrowScore: 3,170Success
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 07:293,15059,430,18333,631,0001,019,0002,400,256
2Mar 30, 2026 07:353,15163,006,43833,643,0001,019,0002,277,376
3Mar 30, 2026 07:333,15158,513,98933,641,0001,019,0002,277,376
4Mar 30, 2026 07:383,15268,222,71533,648,0001,019,0002,396,160
5Mar 30, 2026 07:333,15264,424,35634,674,00002,392,064
6Mar 30, 2026 07:383,15464,366,85234,692,00002,277,376
7Mar 30, 2026 07:353,16463,125,46832,817,0001,988,0002,277,376
8Mar 30, 2026 07:343,16659,142,62432,836,0001,990,0002,400,256
9Mar 30, 2026 07:343,16760,673,88834,835,00002,277,376
10Mar 30, 2026 07:353,16762,649,80634,835,00002,277,376
11Mar 30, 2026 07:323,16758,634,98532,846,0001,990,0002,400,256
12Mar 30, 2026 07:303,16863,213,15932,862,0001,991,0002,396,160
13Mar 30, 2026 07:353,16861,079,50332,861,0001,991,0002,277,376
14Mar 30, 2026 07:363,16858,980,85433,848,000995,0002,510,848
15Mar 30, 2026 07:413,16863,596,79733,858,000995,0002,400,256
16Mar 30, 2026 07:333,16859,546,07033,851,000995,0002,392,064
17Mar 30, 2026 07:373,16865,278,27733,851,000995,0002,277,376
18Mar 30, 2026 07:383,16865,223,63933,857,000995,0002,277,376
19Mar 30, 2026 07:393,16868,458,12834,846,00002,277,376
20Mar 30, 2026 07:393,16865,731,13034,851,00002,277,376
21Mar 30, 2026 07:403,16965,991,83832,864,0001,991,0002,404,352
22Mar 30, 2026 07:373,16963,050,36933,862,000995,0002,277,376
23Mar 30, 2026 07:293,16960,700,38733,862,000995,0002,404,352
24Mar 30, 2026 07:423,16970,014,48734,860,00002,400,256
25Mar 30, 2026 07:393,16963,171,53833,861,000995,0002,396,160
26Mar 30, 2026 07:393,16965,120,54733,861,000995,0002,392,064
27Mar 30, 2026 07:313,16960,454,58132,863,0001,991,0002,396,160
28Mar 30, 2026 07:333,16963,260,04933,863,000995,0002,277,376
29Mar 30, 2026 07:303,16959,690,26633,864,000996,0002,277,376
30Mar 30, 2026 07:353,17055,313,73832,878,0001,992,0002,277,376
31Mar 30, 2026 07:363,17059,961,56233,869,000996,0002,396,160
32Mar 30, 2026 07:323,17054,943,40933,874,000996,0002,277,376
33Mar 30, 2026 07:393,17060,992,37633,878,000996,0002,404,352
34Mar 30, 2026 07:373,17159,801,55834,880,00002,387,968
35Mar 30, 2026 07:403,17164,227,16133,887,000996,0002,277,376
36Mar 30, 2026 07:303,17158,475,73733,855,0001,025,0002,277,376
37Mar 30, 2026 07:343,17160,154,34932,889,0001,993,0002,396,160
38Mar 30, 2026 07:373,17261,068,77732,899,0001,993,0002,277,376
39Mar 30, 2026 07:363,17259,400,61333,869,0001,026,0002,277,376
40Mar 30, 2026 07:423,17258,131,67933,898,000997,0002,277,376
41Mar 30, 2026 07:303,17361,074,54732,911,0001,994,0002,404,352
42Mar 30, 2026 07:403,17359,720,43532,912,0001,994,0002,404,352
43Mar 30, 2026 07:303,17360,867,97932,908,0001,994,0002,277,376
44Mar 30, 2026 07:373,17364,777,24133,904,000997,0002,277,376
45Mar 30, 2026 07:293,17359,943,14833,906,000997,0002,277,376
46Mar 30, 2026 07:413,17558,342,96732,925,0001,995,0002,277,376
47Mar 30, 2026 07:333,17557,818,68333,928,000997,0002,510,848
48Mar 30, 2026 07:403,17660,322,33832,942,0001,996,0002,277,376
49Mar 30, 2026 07:403,17660,128,35432,937,0001,996,0002,400,256
50Mar 30, 2026 07:423,17652,620,03532,941,0001,996,0002,392,064
51Mar 30, 2026 07:303,17659,087,99732,937,0001,996,0002,277,376
52Mar 30, 2026 07:403,17756,944,88932,952,0001,997,0002,277,376
53Mar 30, 2026 07:353,17759,055,69733,950,000998,0002,277,376
54Mar 30, 2026 07:413,18061,813,60433,984,000999,0002,277,376
55Mar 30, 2026 07:323,18063,962,64032,981,0001,998,0002,277,376
56Mar 30, 2026 07:313,18162,380,49432,987,0001,999,0002,277,376
57Mar 30, 2026 07:313,18161,547,09732,994,0001,999,0002,396,160
58Mar 30, 2026 07:393,18255,765,85533,005,0002,000,0002,404,352
59Mar 30, 2026 07:333,18359,373,61134,014,0001,000,0002,404,352
60Mar 30, 2026 07:373,18865,321,30835,070,00002,277,376