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 22:10olliecrowolliecrowScore: 3,172Success
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 21:573,15160,329,17434,658,00002,506,752
2Mar 30, 2026 22:153,15262,619,12333,652,0001,019,0002,277,376
3Mar 30, 2026 22:113,15365,158,32833,667,0001,020,0002,277,376
4Mar 30, 2026 22:013,15460,183,10234,692,00002,392,064
5Mar 30, 2026 22:133,16662,179,68432,836,0001,990,0002,277,376
6Mar 30, 2026 22:073,16761,888,46333,844,000995,0002,510,848
7Mar 30, 2026 22:083,16760,601,08333,838,000995,0002,277,376
8Mar 30, 2026 22:043,16760,772,44732,842,0001,990,0002,400,256
9Mar 30, 2026 22:133,16764,424,52233,847,000995,0002,277,376
10Mar 30, 2026 22:003,16863,414,09133,853,000995,0002,277,376
11Mar 30, 2026 22:063,16865,165,67533,858,000995,0002,277,376
12Mar 30, 2026 21:593,16860,014,44133,850,000995,0002,277,376
13Mar 30, 2026 22:123,16860,702,24533,855,000995,0002,277,376
14Mar 30, 2026 22:053,16864,377,48933,850,000995,0002,277,376
15Mar 30, 2026 22:123,16860,463,69033,852,000995,0002,502,656
16Mar 30, 2026 22:033,16861,031,57232,858,0001,991,0002,277,376
17Mar 30, 2026 21:583,16860,896,35032,862,0001,991,0002,277,376
18Mar 30, 2026 22:043,16864,335,21933,852,000995,0002,400,256
19Mar 30, 2026 22:053,16964,894,90232,865,0001,991,0002,277,376
20Mar 30, 2026 22:103,16960,435,50532,864,0001,991,0002,404,352
21Mar 30, 2026 22:083,16965,648,23833,866,000996,0002,277,376
22Mar 30, 2026 22:003,17063,326,16032,881,0001,992,0002,277,376
23Mar 30, 2026 22:153,17065,524,39633,873,000996,0002,396,160
24Mar 30, 2026 21:583,17067,753,85732,873,0001,992,0002,277,376
25Mar 30, 2026 22:023,17061,230,19233,877,000996,0002,277,376
26Mar 30, 2026 22:143,17065,437,40832,881,0001,992,0002,404,352
27Mar 30, 2026 22:143,17062,783,52832,877,0001,992,0002,273,280
28Mar 30, 2026 22:073,17161,922,17033,889,000996,0002,392,064
29Mar 30, 2026 22:073,17164,389,92832,885,0001,993,0002,387,968
30Mar 30, 2026 22:153,17163,548,75833,888,000996,0002,400,256
31Mar 30, 2026 21:593,17263,133,88233,892,000996,0002,277,376
32Mar 30, 2026 22:093,17265,628,92933,898,000997,0002,277,376
33Mar 30, 2026 22:043,17355,906,68933,905,000997,0002,404,352
34Mar 30, 2026 22:013,17362,324,76532,907,0001,994,0002,408,448
35Mar 30, 2026 22:063,17457,527,49033,920,000997,0002,277,376
36Mar 30, 2026 22:063,17456,101,64132,924,0001,995,0002,277,376
37Mar 30, 2026 22:143,17463,773,50832,924,0001,995,0002,396,160
38Mar 30, 2026 22:113,17461,779,36932,916,0001,994,0002,277,376
39Mar 30, 2026 21:573,17556,803,67932,928,0001,995,0002,396,160
40Mar 30, 2026 22:123,17556,642,65633,925,000997,0002,404,352
41Mar 30, 2026 22:143,17656,872,44632,941,0001,996,0002,404,352
42Mar 30, 2026 22:013,17659,214,76833,934,000998,0002,277,376
43Mar 30, 2026 22:023,17661,599,00233,937,000998,0002,277,376
44Mar 30, 2026 22:093,17757,712,97232,952,0001,997,0002,277,376
45Mar 30, 2026 22:143,17756,852,29433,953,000998,0002,277,376
46Mar 30, 2026 21:573,17863,189,12232,958,0001,997,0002,277,376
47Mar 30, 2026 22:033,18063,147,86533,976,000999,0002,277,376
48Mar 30, 2026 21:593,18064,983,51732,977,0001,998,0002,277,376
49Mar 30, 2026 22:113,18160,937,64733,992,000999,0002,396,160
50Mar 30, 2026 22:083,18156,139,65933,988,000999,0002,510,848
51Mar 30, 2026 22:133,18261,759,92734,001,0001,000,0002,396,160
52Mar 30, 2026 22:093,18456,121,13533,018,0002,001,0002,277,376
53Mar 30, 2026 22:143,18456,719,36033,021,0002,001,0002,482,176
54Mar 30, 2026 22:103,18455,712,20833,027,0002,001,0002,277,376
55Mar 30, 2026 22:003,18658,997,22734,040,0001,001,0002,277,376
56Mar 30, 2026 21:583,18662,043,21034,047,0001,001,0002,387,968
57Mar 30, 2026 22:103,18764,344,77035,055,00002,277,376
58Mar 30, 2026 22:023,18857,088,61934,067,0001,001,0002,277,376
59Mar 30, 2026 22:053,19059,417,69434,087,0001,002,0002,396,160
60Mar 30, 2026 22:033,19257,226,18634,105,0001,003,0002,408,448