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 18:44olliecrowolliecrowScore: 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 18:373,15161,423,69134,665,00002,400,256
2Mar 30, 2026 18:373,15262,758,79833,650,0001,019,0002,392,064
3Mar 30, 2026 18:293,15463,742,67234,692,00002,392,064
4Mar 30, 2026 18:443,15562,708,36534,710,00002,277,376
5Mar 30, 2026 18:373,15761,694,37733,701,0001,021,0002,400,256
6Mar 30, 2026 18:433,16562,786,17032,828,0001,989,0002,277,376
7Mar 30, 2026 18:293,16659,818,82833,828,000994,0002,277,376
8Mar 30, 2026 18:403,16760,254,52432,850,0001,990,0002,506,752
9Mar 30, 2026 18:343,16762,818,91132,847,0001,990,0002,404,352
10Mar 30, 2026 18:363,16759,816,85833,847,000995,0002,277,376
11Mar 30, 2026 18:373,16760,237,79333,842,000995,0002,277,376
12Mar 30, 2026 18:293,16763,962,53632,848,0001,990,0002,277,376
13Mar 30, 2026 18:273,16865,365,13234,852,00002,392,064
14Mar 30, 2026 18:393,16864,697,69233,850,000995,0002,400,256
15Mar 30, 2026 18:413,16863,230,10332,858,0001,991,0002,277,376
16Mar 30, 2026 18:423,16863,135,63432,854,0001,991,0002,277,376
17Mar 30, 2026 18:373,16859,394,68432,857,0001,991,0002,277,376
18Mar 30, 2026 18:433,16862,230,83632,859,0001,991,0002,510,848
19Mar 30, 2026 18:363,16859,441,53233,857,000995,0002,277,376
20Mar 30, 2026 18:363,16861,076,99032,860,0001,991,0002,404,352
21Mar 30, 2026 18:433,16863,444,39232,860,0001,991,0002,396,160
22Mar 30, 2026 18:343,16858,763,77233,854,000995,0002,392,064
23Mar 30, 2026 18:443,16864,902,61932,858,0001,991,0002,277,376
24Mar 30, 2026 18:273,16862,261,67033,853,000995,0002,404,352
25Mar 30, 2026 18:293,16860,793,72332,852,0001,991,0002,482,176
26Mar 30, 2026 18:323,16861,648,76632,854,0001,991,0002,400,256
27Mar 30, 2026 18:293,16960,302,59533,867,000996,0002,277,376
28Mar 30, 2026 18:333,16961,150,49433,861,000995,0002,383,872
29Mar 30, 2026 18:273,16960,590,66333,868,000996,0002,277,376
30Mar 30, 2026 18:303,16960,988,09032,868,0001,992,0002,277,376
31Mar 30, 2026 18:443,16966,473,18532,870,0001,992,0002,404,352
32Mar 30, 2026 18:393,16966,643,44233,859,000995,0002,392,064
33Mar 30, 2026 18:393,17058,485,58333,845,0001,025,0002,400,256
34Mar 30, 2026 18:293,17064,544,33234,871,00002,400,256
35Mar 30, 2026 18:313,17061,971,53232,877,0001,992,0002,404,352
36Mar 30, 2026 18:373,17061,725,75732,875,0001,992,0002,404,352
37Mar 30, 2026 18:323,17059,482,80832,874,0001,992,0002,400,256
38Mar 30, 2026 18:333,17058,751,18132,873,0001,992,0002,396,160
39Mar 30, 2026 18:443,17156,886,70832,893,0001,993,0002,396,160
40Mar 30, 2026 18:303,17259,209,42332,895,0001,993,0002,273,280
41Mar 30, 2026 18:423,17259,047,80632,902,0001,994,0002,277,376
42Mar 30, 2026 18:313,17358,604,25632,907,0001,994,0002,482,176
43Mar 30, 2026 18:403,17359,146,85633,906,000997,0002,400,256
44Mar 30, 2026 18:323,17458,846,55533,919,000997,0002,277,376
45Mar 30, 2026 18:343,17457,319,69832,919,0001,995,0002,277,376
46Mar 30, 2026 18:343,17563,947,55732,933,0001,995,0002,277,376
47Mar 30, 2026 18:413,17657,140,80932,940,0001,996,0002,400,256
48Mar 30, 2026 18:303,17762,155,79833,949,000998,0002,277,376
49Mar 30, 2026 18:403,17760,669,62433,944,000998,0002,277,376
50Mar 30, 2026 18:333,17858,243,63832,965,0001,997,0002,277,376
51Mar 30, 2026 18:343,17958,173,77133,967,000999,0002,396,160
52Mar 30, 2026 18:443,18058,097,89132,982,0001,998,0002,277,376
53Mar 30, 2026 18:443,18158,235,74133,991,000999,0002,273,280
54Mar 30, 2026 18:313,18356,816,62333,017,0002,001,0002,498,560
55Mar 30, 2026 18:413,18458,538,13133,019,0002,001,0002,404,352
56Mar 30, 2026 18:343,18658,020,40633,042,0002,002,0002,277,376
57Mar 30, 2026 18:423,18958,039,27534,079,0001,002,0002,490,368