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 20:29olliecrowolliecrowScore: 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 20:413,14659,274,20933,593,0001,017,0002,392,064
2Mar 30, 2026 20:363,14966,241,19433,623,0001,018,0002,396,160
3Mar 30, 2026 20:313,15259,450,16433,648,0001,019,0002,277,376
4Mar 30, 2026 20:303,15258,676,57734,672,00002,277,376
5Mar 30, 2026 20:293,15267,094,13134,675,00002,396,160
6Mar 30, 2026 20:343,15362,870,14134,679,00002,400,256
7Mar 30, 2026 20:383,15358,246,50633,664,0001,020,0002,277,376
8Mar 30, 2026 20:383,15460,648,21033,672,0001,020,0002,396,160
9Mar 30, 2026 20:283,15565,396,54734,700,00002,277,376
10Mar 30, 2026 20:363,15664,944,05433,692,0001,020,0002,277,376
11Mar 30, 2026 20:263,15758,889,64333,706,0001,021,0002,277,376
12Mar 30, 2026 20:393,16563,291,31732,822,0001,989,0002,277,376
13Mar 30, 2026 20:333,16661,482,25533,836,000995,0002,277,376
14Mar 30, 2026 20:263,16758,962,75733,846,000995,0002,519,040
15Mar 30, 2026 20:373,16761,685,61833,838,000995,0002,277,376
16Mar 30, 2026 20:293,16765,138,15832,851,0001,991,0002,277,376
17Mar 30, 2026 20:283,16761,070,55834,833,00002,408,448
18Mar 30, 2026 20:273,16864,980,30033,852,000995,0002,277,376
19Mar 30, 2026 20:413,16861,068,75032,856,0001,991,0002,277,376
20Mar 30, 2026 20:373,16862,621,11333,854,000995,0002,277,376
21Mar 30, 2026 20:403,16859,640,44833,852,000995,0002,392,064
22Mar 30, 2026 20:313,16864,739,71334,852,00002,383,872
23Mar 30, 2026 20:373,16864,128,68432,857,0001,991,0002,277,376
24Mar 30, 2026 20:373,16869,142,42833,851,000995,0002,277,376
25Mar 30, 2026 20:283,16864,861,21232,862,0001,991,0002,400,256
26Mar 30, 2026 20:253,16866,422,43934,853,00002,277,376
27Mar 30, 2026 20:253,16965,942,65734,854,00002,277,376
28Mar 30, 2026 20:373,16960,626,49933,862,000995,0002,404,352
29Mar 30, 2026 20:413,16961,161,85533,859,000995,0002,277,376
30Mar 30, 2026 20:333,16963,096,04032,865,0001,991,0002,277,376
31Mar 30, 2026 20:313,16965,753,69033,863,000995,0002,404,352
32Mar 30, 2026 20:343,17064,030,57833,878,000996,0002,396,160
33Mar 30, 2026 20:273,17059,741,07333,870,000996,0002,277,376
34Mar 30, 2026 20:403,17059,193,57833,877,000996,0002,277,376
35Mar 30, 2026 20:273,17065,173,13032,881,0001,992,0002,277,376
36Mar 30, 2026 20:343,17162,137,17333,882,000996,0002,277,376
37Mar 30, 2026 20:303,17159,755,62032,889,0001,993,0002,473,984
38Mar 30, 2026 20:373,17260,235,09732,903,0001,994,0002,273,280
39Mar 30, 2026 20:323,17261,690,00832,902,0001,994,0002,277,376
40Mar 30, 2026 20:303,17358,078,85332,913,0001,994,0002,396,160
41Mar 30, 2026 20:253,17358,649,41533,907,000997,0002,273,280
42Mar 30, 2026 20:333,17358,725,13532,908,0001,994,0002,396,160
43Mar 30, 2026 20:353,17357,610,91332,910,0001,994,0002,396,160
44Mar 30, 2026 20:393,17357,457,58333,873,0001,026,0002,396,160
45Mar 30, 2026 20:423,17456,904,53533,915,000997,0002,277,376
46Mar 30, 2026 20:263,17460,503,13032,922,0001,995,0002,277,376
47Mar 30, 2026 20:393,17460,750,04633,913,000997,0002,277,376
48Mar 30, 2026 20:353,17560,118,96632,926,0001,995,0002,396,160
49Mar 30, 2026 20:423,17663,792,81332,938,0001,996,0002,404,352
50Mar 30, 2026 20:293,17661,124,22432,945,0001,996,0002,277,376
51Mar 30, 2026 20:423,18157,520,53333,994,000999,0002,277,376
52Mar 30, 2026 20:363,18264,939,62334,002,0001,000,0002,404,352
53Mar 30, 2026 20:383,18362,359,84433,010,0002,000,0002,277,376
54Mar 30, 2026 20:293,18358,211,12734,011,0001,000,0002,404,352
55Mar 30, 2026 20:323,18359,131,37833,016,0002,000,0002,396,160
56Mar 30, 2026 20:293,18456,877,87733,021,0002,001,0002,277,376
57Mar 30, 2026 20:323,18558,021,00834,036,0001,001,0002,396,160
58Mar 30, 2026 20:293,18663,110,88334,046,0001,001,0002,277,376
59Mar 30, 2026 20:353,18757,873,87335,057,00002,277,376
60Mar 30, 2026 20:403,18759,176,87333,055,0002,003,0002,277,376