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 27, 2026 01:10olliecrowolliecrowScore: 3,149Success
Source Code

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

Challenge History

No challenges yet.

Run Statistics
#DateScoreWall TimeCPU UserCPU SystemMemoryError
1Mar 27, 2026 01:133,13860,441,34433,501,0001,015,0002,277,376
2Mar 27, 2026 01:103,13857,109,86333,502,0001,015,0002,400,256
3Mar 27, 2026 01:103,13957,211,05634,530,00002,277,376
4Mar 27, 2026 01:133,13960,181,31234,531,00002,277,376
5Mar 27, 2026 01:133,13957,437,48033,515,0001,015,0002,408,448
6Mar 27, 2026 01:103,13961,617,61534,525,00002,277,376
7Mar 27, 2026 01:133,14061,204,17234,543,00002,404,352
8Mar 27, 2026 01:103,14062,073,44533,526,0001,015,0002,277,376
9Mar 27, 2026 01:103,14054,112,11833,529,0001,016,0002,277,376
10Mar 27, 2026 01:133,14060,202,79034,545,00002,277,376
11Mar 27, 2026 01:103,14159,456,07634,551,00002,404,352
12Mar 27, 2026 01:133,14256,315,82133,541,0001,016,0002,277,376
13Mar 27, 2026 01:103,14363,359,71533,554,0001,016,0002,277,376
14Mar 27, 2026 01:133,14368,137,28734,575,00002,277,376
15Mar 27, 2026 01:133,14363,816,32333,559,0001,016,0002,277,376
16Mar 27, 2026 01:133,14363,261,97534,570,00002,510,848
17Mar 27, 2026 01:103,14360,001,99834,570,00002,400,256
18Mar 27, 2026 01:103,14466,216,66733,571,0001,017,0002,277,376
19Mar 27, 2026 01:133,14462,707,56833,562,0001,017,0002,404,352
20Mar 27, 2026 01:133,14661,704,96933,585,0001,017,0002,277,376
21Mar 27, 2026 01:133,14760,181,75633,602,0001,018,0002,277,376
22Mar 27, 2026 01:133,14759,707,11133,597,0001,018,0002,392,064
23Mar 27, 2026 01:133,14763,946,40834,621,00002,404,352
24Mar 27, 2026 01:133,14859,502,27733,614,0001,018,0002,277,376
25Mar 27, 2026 01:133,14864,284,74234,633,00002,277,376
26Mar 27, 2026 01:103,14860,331,71133,615,0001,018,0002,392,064
27Mar 27, 2026 01:103,14864,517,37034,625,00002,277,376
28Mar 27, 2026 01:133,14965,546,38434,636,00002,277,376
29Mar 27, 2026 01:133,15065,585,03634,653,00002,400,256
30Mar 27, 2026 01:133,15059,290,94534,651,00002,277,376
31Mar 27, 2026 01:103,15160,017,68034,666,00002,392,064
32Mar 27, 2026 01:133,15168,157,13934,659,00002,277,376
33Mar 27, 2026 01:103,15264,194,10533,658,0001,019,0002,396,160
34Mar 27, 2026 01:103,15263,685,96934,674,00002,277,376
35Mar 27, 2026 01:103,15263,175,42433,655,0001,019,0002,396,160
36Mar 27, 2026 01:133,15259,750,43333,650,0001,019,0002,277,376
37Mar 27, 2026 01:133,15760,320,07533,734,000992,0002,277,376
38Mar 27, 2026 01:103,16363,675,41532,809,0001,988,0002,400,256
39Mar 27, 2026 01:103,16460,780,25233,805,000994,0002,396,160
40Mar 27, 2026 01:133,16460,543,55532,818,0001,988,0002,400,256
41Mar 27, 2026 01:103,16762,879,12233,846,000995,0002,510,848
42Mar 27, 2026 01:133,16761,351,28433,846,000995,0002,392,064
43Mar 27, 2026 01:103,16860,357,42632,857,0001,991,0002,408,448
44Mar 27, 2026 01:133,16859,839,17932,861,0001,991,0002,277,376
45Mar 27, 2026 01:103,16959,334,86733,859,000995,0002,277,376
46Mar 27, 2026 01:133,16965,287,88532,867,0001,991,0002,277,376
47Mar 27, 2026 01:103,17062,129,81532,876,0001,992,0002,277,376
48Mar 27, 2026 01:103,17066,600,44933,874,000996,0002,387,968
49Mar 27, 2026 01:133,17157,069,78032,888,0001,993,0002,277,376
50Mar 27, 2026 01:133,17262,573,01133,899,000997,0002,277,376
51Mar 27, 2026 01:103,17459,199,08433,920,000997,0002,510,848
52Mar 27, 2026 01:133,17463,428,17132,922,0001,995,0002,277,376
53Mar 27, 2026 01:103,17560,187,34532,932,0001,995,0002,277,376
54Mar 27, 2026 01:133,17862,328,79532,957,0001,997,0002,277,376