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 15:43olliecrowolliecrowScore: 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 15:423,14565,008,87534,598,00002,277,376
2Mar 30, 2026 15:543,15161,909,06434,656,00002,400,256
3Mar 30, 2026 15:533,15266,358,43933,652,0001,019,0002,277,376
4Mar 30, 2026 15:573,15258,525,82234,671,00002,277,376
5Mar 30, 2026 15:493,15463,033,84434,699,00002,277,376
6Mar 30, 2026 15:513,15671,005,60033,691,0001,020,0002,277,376
7Mar 30, 2026 15:543,16563,189,92232,828,0001,989,0002,396,160
8Mar 30, 2026 15:443,16765,139,82633,841,000995,0002,277,376
9Mar 30, 2026 15:473,16766,813,73033,846,000995,0002,277,376
10Mar 30, 2026 15:553,16765,580,92032,846,0001,990,0002,277,376
11Mar 30, 2026 15:573,16762,851,01532,850,0001,990,0002,277,376
12Mar 30, 2026 15:443,16759,041,94233,843,000995,0002,277,376
13Mar 30, 2026 15:463,16860,571,61833,848,000995,0002,277,376
14Mar 30, 2026 15:533,16865,445,33134,846,00002,392,064
15Mar 30, 2026 15:473,16866,115,99232,856,0001,991,0002,277,376
16Mar 30, 2026 15:543,16862,440,99932,857,0001,991,0002,396,160
17Mar 30, 2026 15:543,16860,093,50132,852,0001,991,0002,400,256
18Mar 30, 2026 15:543,16863,236,52833,848,000995,0002,404,352
19Mar 30, 2026 15:433,16870,412,79732,852,0001,991,0002,277,376
20Mar 30, 2026 15:563,16861,174,42432,853,0001,991,0002,277,376
21Mar 30, 2026 15:513,16863,950,33333,848,000995,0002,277,376
22Mar 30, 2026 15:483,16964,936,27933,864,000996,0002,277,376
23Mar 30, 2026 15:423,16957,504,67733,862,000995,0002,277,376
24Mar 30, 2026 15:523,16959,445,92133,861,000995,0002,404,352
25Mar 30, 2026 15:453,16962,574,98932,866,0001,991,0002,400,256
26Mar 30, 2026 15:443,16959,901,12632,864,0001,991,0002,400,256
27Mar 30, 2026 15:443,16960,946,10233,866,000996,0002,277,376
28Mar 30, 2026 15:443,16965,094,16232,864,0001,991,0002,277,376
29Mar 30, 2026 15:473,17064,031,32633,871,000996,0002,277,376
30Mar 30, 2026 15:473,17067,595,32733,871,000996,0002,277,376
31Mar 30, 2026 15:523,17067,377,98933,877,000996,0002,387,968
32Mar 30, 2026 15:493,17059,914,27632,880,0001,992,0002,281,472
33Mar 30, 2026 15:513,17065,413,95932,877,0001,992,0002,396,160
34Mar 30, 2026 15:513,17060,251,88232,874,0001,992,0002,277,376
35Mar 30, 2026 15:503,17158,475,00432,891,0001,993,0002,277,376
36Mar 30, 2026 15:453,17156,730,98433,853,0001,025,0002,277,376
37Mar 30, 2026 15:463,17163,881,51832,884,0001,992,0002,404,352
38Mar 30, 2026 15:513,17259,573,46832,900,0001,993,0002,277,376
39Mar 30, 2026 15:513,17259,176,83533,900,000997,0002,396,160
40Mar 30, 2026 15:563,17262,346,19432,903,0001,994,0002,277,376
41Mar 30, 2026 15:473,17255,644,58333,895,000996,0002,392,064
42Mar 30, 2026 15:483,17360,711,01432,910,0001,994,0002,277,376
43Mar 30, 2026 15:453,17360,724,16633,907,000997,0002,277,376
44Mar 30, 2026 15:503,17672,401,71432,940,0001,996,0002,277,376
45Mar 30, 2026 15:543,17757,444,29032,949,0001,996,0002,396,160
46Mar 30, 2026 15:553,17760,979,25232,954,0001,997,0002,277,376
47Mar 30, 2026 15:503,17757,166,84833,951,000998,0002,400,256
48Mar 30, 2026 15:463,17757,605,74232,955,0001,997,0002,396,160
49Mar 30, 2026 15:523,17767,421,47032,950,0001,996,0002,400,256
50Mar 30, 2026 15:483,17860,920,11032,959,0001,997,0002,277,376
51Mar 30, 2026 15:533,18061,147,38433,986,000999,0002,404,352
52Mar 30, 2026 15:573,18058,121,02633,984,000999,0002,396,160
53Mar 30, 2026 15:553,18257,933,90533,004,0002,000,0002,396,160
54Mar 30, 2026 15:433,18459,583,05733,022,0002,001,0002,277,376
55Mar 30, 2026 15:443,18566,774,51734,030,0001,000,0002,277,376
56Mar 30, 2026 15:433,18658,223,76433,039,0002,002,0002,277,376
57Mar 30, 2026 15:423,18761,354,04234,059,0001,001,0002,396,160
58Mar 30, 2026 15:563,18863,606,17933,063,0002,003,0002,404,352
59Mar 30, 2026 15:473,19057,569,34933,083,0002,005,0002,277,376
60Mar 30, 2026 15:493,19161,443,71533,098,0002,005,0002,277,376