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 08:37olliecrowolliecrowScore: 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 08:333,14664,160,20733,584,0001,017,0002,277,376
2Mar 30, 2026 08:353,15059,646,61933,632,0001,019,0002,404,352
3Mar 30, 2026 08:333,15161,803,68934,666,00002,277,376
4Mar 30, 2026 08:303,15259,755,66034,677,00002,277,376
5Mar 30, 2026 08:423,15266,617,51933,654,0001,019,0002,277,376
6Mar 30, 2026 08:403,15261,290,81533,651,0001,019,0002,277,376
7Mar 30, 2026 08:423,15359,904,62533,663,0001,020,0002,400,256
8Mar 30, 2026 08:403,15460,575,24134,699,00002,400,256
9Mar 30, 2026 08:393,15462,773,22534,696,00002,408,448
10Mar 30, 2026 08:383,15461,287,87133,678,0001,020,0002,404,352
11Mar 30, 2026 08:423,15563,824,15133,686,0001,020,0002,277,376
12Mar 30, 2026 08:353,15564,691,85934,708,00002,408,448
13Mar 30, 2026 08:353,15562,246,29034,707,00002,277,376
14Mar 30, 2026 08:353,16564,260,99833,822,000994,0002,277,376
15Mar 30, 2026 08:353,16663,125,60033,836,000995,0002,277,376
16Mar 30, 2026 08:343,16660,975,26332,833,0001,989,0002,404,352
17Mar 30, 2026 08:363,16764,845,64234,839,00002,277,376
18Mar 30, 2026 08:383,16766,153,20132,851,0001,991,0002,383,872
19Mar 30, 2026 08:383,16759,265,53732,848,0001,990,0002,277,376
20Mar 30, 2026 08:323,16758,961,81533,845,000995,0002,482,176
21Mar 30, 2026 08:323,16761,367,40634,838,00002,277,376
22Mar 30, 2026 08:383,16860,113,85433,849,000995,0002,510,848
23Mar 30, 2026 08:363,16861,454,47133,856,000995,0002,404,352
24Mar 30, 2026 08:393,16860,653,06233,853,000995,0002,277,376
25Mar 30, 2026 08:403,16864,980,25533,855,000995,0002,396,160
26Mar 30, 2026 08:423,16859,095,31633,849,000995,0002,519,040
27Mar 30, 2026 08:323,16864,412,49233,857,000995,0002,277,376
28Mar 30, 2026 08:333,16867,749,84933,851,000995,0002,408,448
29Mar 30, 2026 08:353,16967,750,51633,863,000995,0002,396,160
30Mar 30, 2026 08:423,16957,235,35732,872,0001,992,0002,404,352
31Mar 30, 2026 08:413,16963,288,04932,868,0001,992,0002,277,376
32Mar 30, 2026 08:403,16964,075,26433,866,000996,0002,277,376
33Mar 30, 2026 08:393,16963,319,97933,867,000996,0002,277,376
34Mar 30, 2026 08:313,17064,355,46732,879,0001,992,0002,392,064
35Mar 30, 2026 08:333,17059,515,17132,873,0001,992,0002,277,376
36Mar 30, 2026 08:333,17165,913,18532,892,0001,993,0002,277,376
37Mar 30, 2026 08:303,17357,703,58932,907,0001,994,0002,400,256
38Mar 30, 2026 08:323,17359,274,65831,913,0002,991,0002,273,280
39Mar 30, 2026 08:423,17459,676,75232,921,0001,995,0002,277,376
40Mar 30, 2026 08:373,17557,883,59732,934,0001,996,0002,277,376
41Mar 30, 2026 08:383,17762,614,58633,951,000998,0002,400,256
42Mar 30, 2026 08:333,17761,386,84933,949,000998,0002,277,376
43Mar 30, 2026 08:363,17756,566,55232,952,0001,997,0002,277,376
44Mar 30, 2026 08:313,17759,415,76432,947,0001,996,0002,277,376
45Mar 30, 2026 08:303,17957,318,35433,971,000999,0002,277,376
46Mar 30, 2026 08:413,17962,817,95233,973,000999,0002,277,376
47Mar 30, 2026 08:323,18058,914,30232,979,0001,998,0002,277,376
48Mar 30, 2026 08:343,18063,586,04933,982,000999,0002,277,376
49Mar 30, 2026 08:403,18059,144,71633,986,000999,0002,277,376
50Mar 30, 2026 08:383,18358,886,71533,008,0002,000,0002,277,376
51Mar 30, 2026 08:373,18358,634,20433,012,0002,000,0002,277,376
52Mar 30, 2026 08:343,18455,794,15534,026,0001,000,0002,404,352
53Mar 30, 2026 08:413,18460,528,81634,022,0001,000,0002,277,376
54Mar 30, 2026 08:323,18461,629,57634,027,0001,000,0002,277,376
55Mar 30, 2026 08:313,18562,174,97634,039,0001,001,0002,396,160
56Mar 30, 2026 08:403,18658,656,67733,039,0002,002,0002,277,376
57Mar 30, 2026 08:373,32062,162,87735,507,0001,014,0002,392,064