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 19:57olliecrowolliecrowScore: 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:043,14863,079,97033,607,0001,018,0002,392,064
2Mar 30, 2026 20:123,15061,809,78133,636,0001,019,0002,277,376
3Mar 30, 2026 20:033,15360,931,48334,687,00002,277,376
4Mar 30, 2026 20:073,15360,434,79634,679,00002,277,376
5Mar 30, 2026 20:063,15561,881,96234,701,00002,404,352
6Mar 30, 2026 20:103,15864,794,57133,713,0001,021,0002,277,376
7Mar 30, 2026 20:023,16060,630,13133,764,000993,0002,400,256
8Mar 30, 2026 20:083,16762,968,55932,848,0001,990,0002,400,256
9Mar 30, 2026 20:133,16770,542,91834,839,00002,408,448
10Mar 30, 2026 20:113,16754,241,86932,850,0001,990,0002,273,280
11Mar 30, 2026 20:103,16761,581,48733,843,000995,0002,392,064
12Mar 30, 2026 20:013,16764,731,24434,835,00002,400,256
13Mar 30, 2026 20:033,16762,664,70934,838,00002,277,376
14Mar 30, 2026 20:033,16863,585,96034,845,00002,277,376
15Mar 30, 2026 20:073,16861,114,62633,848,000995,0002,277,376
16Mar 30, 2026 20:013,16861,362,73934,850,00002,400,256
17Mar 30, 2026 20:053,16867,421,41733,858,000995,0002,277,376
18Mar 30, 2026 20:083,16865,073,59232,858,0001,991,0002,400,256
19Mar 30, 2026 20:013,16859,475,44432,862,0001,991,0002,277,376
20Mar 30, 2026 20:093,16861,446,56032,856,0001,991,0002,400,256
21Mar 30, 2026 20:093,16854,955,19332,858,0001,991,0002,387,968
22Mar 30, 2026 20:103,16864,864,19033,857,000995,0002,277,376
23Mar 30, 2026 19:593,16858,979,72933,822,0001,024,0002,277,376
24Mar 30, 2026 20:133,16862,420,31434,846,00002,277,376
25Mar 30, 2026 20:053,16965,570,03533,866,000996,0002,277,376
26Mar 30, 2026 20:143,16959,040,38033,862,000995,0002,277,376
27Mar 30, 2026 20:123,16964,292,62734,857,00002,277,376
28Mar 30, 2026 20:003,16960,834,31032,866,0001,991,0002,482,176
29Mar 30, 2026 20:033,16969,343,78533,867,000996,0002,383,872
30Mar 30, 2026 20:143,16965,565,88732,867,0001,991,0002,277,376
31Mar 30, 2026 19:593,16958,468,03732,872,0001,992,0002,277,376
32Mar 30, 2026 20:003,16959,231,99532,871,0001,992,0002,277,376
33Mar 30, 2026 20:023,16968,233,07533,868,000996,0002,277,376
34Mar 30, 2026 19:593,17059,526,19232,881,0001,992,0002,392,064
35Mar 30, 2026 20:043,17061,083,37233,871,000996,0002,277,376
36Mar 30, 2026 20:003,17066,535,66833,870,000996,0002,392,064
37Mar 30, 2026 20:123,17160,922,48833,880,000996,0002,400,256
38Mar 30, 2026 19:583,17159,801,83333,887,000996,0002,273,280
39Mar 30, 2026 20:083,17260,760,65733,899,000997,0002,277,376
40Mar 30, 2026 20:133,17462,201,93732,923,0001,995,0002,277,376
41Mar 30, 2026 20:063,17459,279,83933,918,000997,0002,392,064
42Mar 30, 2026 19:583,17555,179,21833,926,000997,0002,510,848
43Mar 30, 2026 20:053,17654,564,69232,939,0001,996,0002,277,376
44Mar 30, 2026 20:113,17759,148,65633,952,000998,0002,404,352
45Mar 30, 2026 20:033,17857,817,12332,959,0001,997,0002,396,160
46Mar 30, 2026 20:103,17862,697,35232,962,0001,997,0002,277,376
47Mar 30, 2026 19:573,17864,756,07433,960,000998,0002,277,376
48Mar 30, 2026 20:023,17962,420,68633,970,000999,0002,277,376
49Mar 30, 2026 20:093,18060,964,90433,979,000999,0002,277,376
50Mar 30, 2026 20:043,18056,376,86633,977,000999,0002,277,376
51Mar 30, 2026 20:113,18161,857,76632,991,0001,999,0002,396,160
52Mar 30, 2026 19:583,18259,342,37932,998,0001,999,0002,277,376
53Mar 30, 2026 20:103,18262,589,15233,003,0002,000,0002,277,376
54Mar 30, 2026 20:033,18360,305,21634,017,0001,000,0002,392,064
55Mar 30, 2026 20:073,18459,110,40533,024,0002,001,0002,277,376
56Mar 30, 2026 19:573,18559,764,87534,032,0001,000,0002,277,376
57Mar 30, 2026 19:573,18560,240,41233,037,0002,002,0002,482,176
58Mar 30, 2026 20:143,18662,149,41934,040,0001,001,0002,383,872
59Mar 30, 2026 20:103,18766,664,97234,059,0001,001,0002,392,064
60Mar 30, 2026 20:063,18956,714,46234,082,0001,002,0002,277,376