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:58olliecrowolliecrowScore: 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:593,15165,691,83433,640,0001,019,0002,277,376
2Mar 30, 2026 08:503,15167,166,29934,659,00002,277,376
3Mar 30, 2026 09:003,15260,794,10533,652,0001,019,0002,277,376
4Mar 30, 2026 08:513,15260,687,40633,653,0001,019,0002,277,376
5Mar 30, 2026 08:533,15262,398,65433,656,0001,019,0002,400,256
6Mar 30, 2026 08:583,15562,893,76633,686,0001,020,0002,277,376
7Mar 30, 2026 08:503,15669,773,87534,719,00002,277,376
8Mar 30, 2026 08:553,15659,061,15432,731,0001,983,0002,277,376
9Mar 30, 2026 08:533,16166,292,78732,782,0001,986,0002,404,352
10Mar 30, 2026 09:023,16460,688,38133,813,000994,0002,387,968
11Mar 30, 2026 08:573,16662,502,01233,836,000995,0002,392,064
12Mar 30, 2026 08:513,16661,158,88233,836,000995,0002,277,376
13Mar 30, 2026 08:543,16763,727,14232,845,0001,990,0002,392,064
14Mar 30, 2026 08:533,16759,650,93234,841,00002,277,376
15Mar 30, 2026 08:573,16760,280,71133,841,000995,0002,400,256
16Mar 30, 2026 08:593,16769,066,46233,838,000995,0002,277,376
17Mar 30, 2026 09:013,16860,848,91633,853,000995,0002,277,376
18Mar 30, 2026 08:563,16864,914,29732,853,0001,991,0002,277,376
19Mar 30, 2026 08:553,16862,121,80933,857,000995,0002,277,376
20Mar 30, 2026 08:573,16860,409,25934,844,00002,400,256
21Mar 30, 2026 08:553,16864,534,02133,853,000995,0002,277,376
22Mar 30, 2026 08:543,16858,834,93734,843,00002,277,376
23Mar 30, 2026 08:503,16861,775,82932,858,0001,991,0002,396,160
24Mar 30, 2026 09:013,16859,845,48932,854,0001,991,0002,277,376
25Mar 30, 2026 08:523,16861,881,35833,849,000995,0002,277,376
26Mar 30, 2026 08:523,16865,292,22433,857,000995,0002,396,160
27Mar 30, 2026 08:493,16960,478,60932,868,0001,992,0002,404,352
28Mar 30, 2026 09:023,16957,787,80633,868,000996,0002,400,256
29Mar 30, 2026 08:583,16960,281,13532,867,0001,991,0002,404,352
30Mar 30, 2026 08:503,16965,646,58232,868,0001,992,0002,510,848
31Mar 30, 2026 09:003,16962,032,64033,866,000996,0002,400,256
32Mar 30, 2026 09:013,16965,855,74032,869,0001,992,0002,392,064
33Mar 30, 2026 08:553,16962,120,53633,864,000996,0002,277,376
34Mar 30, 2026 09:003,17064,466,09132,873,0001,992,0002,387,968
35Mar 30, 2026 08:523,17061,740,27132,878,0001,992,0002,277,376
36Mar 30, 2026 08:563,17164,134,60733,880,000996,0002,277,376
37Mar 30, 2026 08:553,17166,575,98532,887,0001,993,0002,277,376
38Mar 30, 2026 08:583,17161,208,66833,890,000996,0002,392,064
39Mar 30, 2026 08:503,17260,475,41133,896,000996,0002,404,352
40Mar 30, 2026 08:593,17257,282,04432,898,0001,993,0002,396,160
41Mar 30, 2026 09:013,17261,424,29932,896,0001,993,0002,392,064
42Mar 30, 2026 08:573,17359,846,88332,913,0001,994,0002,404,352
43Mar 30, 2026 09:013,17555,495,98632,925,0001,995,0002,277,376
44Mar 30, 2026 09:013,17664,169,70932,936,0001,996,0002,273,280
45Mar 30, 2026 08:493,17670,423,63433,938,000998,0002,404,352
46Mar 30, 2026 08:543,17664,614,61832,938,0001,996,0002,404,352
47Mar 30, 2026 08:533,17659,273,97732,944,0001,996,0002,392,064
48Mar 30, 2026 08:533,17759,162,54433,947,000998,0002,277,376
49Mar 30, 2026 08:513,17757,774,43832,949,0001,996,0002,400,256
50Mar 30, 2026 08:573,17863,135,29032,956,0001,997,0002,408,448
51Mar 30, 2026 08:583,18057,119,76133,979,000999,0002,277,376
52Mar 30, 2026 08:503,18058,653,74033,981,000999,0002,277,376
53Mar 30, 2026 08:583,18159,999,30733,988,000999,0002,273,280
54Mar 30, 2026 08:533,18258,636,92234,000,0001,000,0002,387,968
55Mar 30, 2026 08:493,18261,523,30333,998,000999,0002,404,352
56Mar 30, 2026 08:583,18464,005,89133,022,0002,001,0002,486,272
57Mar 30, 2026 08:563,18560,809,57933,038,0002,002,0002,273,280
58Mar 30, 2026 08:573,18660,396,51933,046,0002,002,0002,396,160
59Mar 30, 2026 08:553,18657,390,82934,040,0001,001,0002,273,280
60Mar 30, 2026 09:023,19068,222,88135,088,00002,392,064