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 listJan 7, 2026 03:34Josu San MartinJosu San MartinScore: 3,608Success
Source Code

Source code access is restricted. Log in to request access.

Challenge History

No challenges yet.

Run Statistics
#DateScoreWall TimeCPU UserCPU SystemMemoryError
1Jan 7, 2026 04:033,59864,164,07338,567,0001,014,0002,281,472
2Jan 7, 2026 03:313,59864,432,94238,569,0001,014,0002,535,424
3Jan 7, 2026 03:293,60068,347,45438,585,0001,015,0002,281,472
4Jan 7, 2026 03:333,60170,236,86437,628,0001,980,0002,428,928
5Jan 7, 2026 03:293,60266,803,72338,608,0001,016,0002,281,472
6Jan 7, 2026 04:033,60265,599,42038,611,0001,016,0002,281,472
7Jan 7, 2026 03:333,60265,256,01438,602,0001,015,0002,281,472
8Jan 7, 2026 03:553,60268,002,99638,602,0001,015,0002,441,216
9Jan 7, 2026 03:553,60264,866,12438,610,0001,016,0002,433,024
10Jan 7, 2026 03:553,60264,302,36338,611,0001,016,0002,441,216
11Jan 7, 2026 03:293,60367,373,63538,615,0001,016,0002,437,120
12Jan 7, 2026 03:313,60368,309,15038,622,0001,016,0002,281,472
13Jan 7, 2026 03:313,60470,691,87638,625,0001,016,0002,433,024
14Jan 7, 2026 03:333,60468,955,15638,632,0001,016,0002,433,024
15Jan 7, 2026 03:313,60464,494,76638,631,0001,016,0002,281,472
16Jan 7, 2026 03:573,60465,339,35638,623,0001,016,0002,424,832
17Jan 7, 2026 04:033,60460,806,38438,632,0001,016,0002,281,472
18Jan 7, 2026 03:553,60565,021,68838,640,0001,016,0002,281,472
19Jan 7, 2026 03:553,60566,736,34938,642,0001,016,0002,445,312
20Jan 7, 2026 03:383,60563,620,60938,642,0001,016,0002,281,472
21Jan 7, 2026 03:573,60564,988,96038,640,0001,016,0002,441,216
22Jan 7, 2026 04:033,60564,427,34838,640,0001,016,0002,433,024
23Jan 7, 2026 03:383,60563,681,08038,638,0001,016,0002,437,120
24Jan 7, 2026 03:293,60568,252,20638,638,0001,016,0002,437,120
25Jan 7, 2026 03:573,60671,737,03238,651,0001,017,0002,281,472
26Jan 7, 2026 03:293,60669,565,81238,651,0001,017,0002,437,120
27Jan 7, 2026 03:293,60666,774,46138,648,0001,017,0002,428,928
28Jan 7, 2026 03:363,60663,703,49838,653,0001,017,0002,281,472
29Jan 7, 2026 03:573,60667,020,39938,652,0001,017,0002,281,472
30Jan 7, 2026 03:383,60671,645,66238,646,0001,017,0002,433,024
31Jan 7, 2026 03:383,60664,367,47938,651,0001,017,0002,441,216
32Jan 7, 2026 03:573,60762,744,62138,662,0001,017,0002,281,472
33Jan 7, 2026 04:033,60776,452,70838,664,0001,017,0002,433,024
34Jan 7, 2026 03:333,60766,165,24638,664,0001,017,0002,433,024
35Jan 7, 2026 03:313,60866,774,60238,671,0001,017,0002,428,928
36Jan 7, 2026 03:383,60867,981,51038,670,0001,017,0002,281,472
37Jan 7, 2026 03:333,60964,486,54138,681,0001,017,0002,281,472
38Jan 7, 2026 03:333,60970,990,60438,679,0001,017,0002,281,472
39Jan 7, 2026 04:033,61065,172,51438,693,0001,018,0002,428,928
40Jan 7, 2026 03:293,61064,644,47338,692,0001,018,0002,437,120
41Jan 7, 2026 03:343,61172,843,48337,732,0001,985,0002,281,472
42Jan 7, 2026 04:033,61262,212,32037,745,0001,986,0002,433,024
43Jan 7, 2026 03:573,61366,818,75938,726,0001,019,0002,281,472
44Jan 7, 2026 03:573,61468,910,55838,734,0001,019,0002,281,472
45Jan 7, 2026 03:293,61768,158,91237,801,0001,989,0002,281,472
46Jan 7, 2026 03:553,61964,081,89637,823,0001,990,0002,281,472
47Jan 7, 2026 03:383,61962,302,20738,815,000995,0002,437,120
48Jan 7, 2026 03:363,61966,799,37438,809,000995,0002,433,024
49Jan 7, 2026 03:313,62067,681,11037,829,0001,991,0002,281,472
50Jan 7, 2026 03:383,62064,491,12137,831,0001,991,0002,281,472
51Jan 7, 2026 03:573,62164,099,01837,845,0001,991,0002,437,120
52Jan 7, 2026 04:033,62164,961,50637,837,0001,991,0002,281,472
53Jan 7, 2026 03:333,62171,788,91337,837,0001,991,0002,445,312
54Jan 7, 2026 03:293,62168,598,78837,839,0001,991,0002,281,472
55Jan 7, 2026 03:553,62169,294,21637,836,0001,991,0002,281,472
56Jan 7, 2026 03:313,62166,927,97737,841,0001,991,0002,441,216
57Jan 7, 2026 03:313,62170,455,78738,838,000995,0002,428,928
58Jan 7, 2026 03:383,62168,615,85638,839,000995,0002,437,120
59Jan 7, 2026 03:363,62167,985,53837,843,0001,991,0002,281,472
60Jan 7, 2026 03:343,62164,757,24737,836,0001,991,0002,281,472
61Jan 7, 2026 03:553,62266,232,00838,845,000996,0002,433,024
62Jan 7, 2026 03:553,62271,454,18138,843,000995,0002,531,328
63Jan 7, 2026 03:313,62266,810,97437,847,0001,991,0002,433,024
64Jan 7, 2026 03:383,62266,159,01337,847,0001,991,0002,281,472
65Jan 7, 2026 03:343,62264,855,85938,847,000996,0002,281,472
66Jan 7, 2026 03:333,62265,415,09837,848,0001,992,0002,433,024
67Jan 7, 2026 03:333,62264,865,62438,843,000995,0002,281,472
68Jan 7, 2026 04:033,62266,004,04337,848,0001,992,0002,281,472
69Jan 7, 2026 03:573,62467,040,84938,872,000996,0002,437,120