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 16:20olliecrowolliecrowScore: 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 16:183,14759,095,17134,620,00002,277,376
2Mar 30, 2026 16:153,14858,837,69334,631,00002,277,376
3Mar 30, 2026 16:183,14961,493,56934,635,00002,277,376
4Mar 30, 2026 16:263,14959,961,18133,621,0001,018,0002,519,040
5Mar 30, 2026 16:093,15159,744,15733,639,0001,019,0002,400,256
6Mar 30, 2026 16:173,15163,165,52434,659,00002,277,376
7Mar 30, 2026 16:183,15161,709,89333,638,0001,019,0002,277,376
8Mar 30, 2026 16:223,15163,436,40334,657,00002,277,376
9Mar 30, 2026 16:243,15262,076,93734,672,00002,400,256
10Mar 30, 2026 16:243,15359,065,97734,688,00002,277,376
11Mar 30, 2026 16:123,15459,739,32433,676,0001,020,0002,404,352
12Mar 30, 2026 16:233,15564,685,70734,701,00002,277,376
13Mar 30, 2026 16:263,15565,323,00934,701,00002,277,376
14Mar 30, 2026 16:103,15562,175,98133,685,0001,020,0002,396,160
15Mar 30, 2026 16:263,16059,804,61232,772,0001,986,0002,277,376
16Mar 30, 2026 16:263,16467,815,32033,811,000994,0002,277,376
17Mar 30, 2026 16:183,16563,620,50533,819,000994,0002,400,256
18Mar 30, 2026 16:093,16560,854,06932,822,0001,989,0002,400,256
19Mar 30, 2026 16:103,16560,811,21833,821,000994,0002,277,376
20Mar 30, 2026 16:163,16658,547,97133,836,000995,0002,494,464
21Mar 30, 2026 16:213,16661,105,95633,835,000995,0002,277,376
22Mar 30, 2026 16:133,16760,266,02532,848,0001,990,0002,277,376
23Mar 30, 2026 16:153,16768,613,51833,841,000995,0002,277,376
24Mar 30, 2026 16:213,16765,076,35834,841,00002,277,376
25Mar 30, 2026 16:163,16865,887,31732,861,0001,991,0002,404,352
26Mar 30, 2026 16:093,16865,938,78333,849,000995,0002,277,376
27Mar 30, 2026 16:253,16862,265,43532,859,0001,991,0002,277,376
28Mar 30, 2026 16:133,16857,535,78333,855,000995,0002,277,376
29Mar 30, 2026 16:223,16859,134,46632,858,0001,991,0002,519,040
30Mar 30, 2026 16:223,16864,772,20233,858,000995,0002,277,376
31Mar 30, 2026 16:223,16963,694,75834,864,00002,387,968
32Mar 30, 2026 16:183,16960,943,41234,861,00002,404,352
33Mar 30, 2026 16:223,16960,336,53932,863,0001,991,0002,400,256
34Mar 30, 2026 16:163,17061,944,83332,875,0001,992,0002,510,848
35Mar 30, 2026 16:253,17057,710,52232,877,0001,992,0002,277,376
36Mar 30, 2026 16:143,17062,118,29333,873,000996,0002,396,160
37Mar 30, 2026 16:173,17167,606,70234,884,00002,277,376
38Mar 30, 2026 16:143,17160,558,40832,891,0001,993,0002,408,448
39Mar 30, 2026 16:183,17160,819,47732,888,0001,993,0002,392,064
40Mar 30, 2026 16:193,17360,784,57133,901,000997,0002,400,256
41Mar 30, 2026 16:233,17462,234,98032,922,0001,995,0002,277,376
42Mar 30, 2026 16:173,17456,925,43833,921,000997,0002,392,064
43Mar 30, 2026 16:213,17662,904,74133,940,000998,0002,404,352
44Mar 30, 2026 16:253,17662,801,66432,943,0001,996,0002,273,280
45Mar 30, 2026 16:203,17664,064,82633,933,000998,0002,277,376
46Mar 30, 2026 16:243,17657,306,66432,941,0001,996,0002,277,376
47Mar 30, 2026 16:143,17860,026,41432,956,0001,997,0002,277,376
48Mar 30, 2026 16:263,17862,104,81233,956,000998,0002,277,376
49Mar 30, 2026 16:133,17857,672,94832,966,0001,997,0002,277,376
50Mar 30, 2026 16:193,17863,011,09133,960,000998,0002,277,376
51Mar 30, 2026 16:123,17965,829,36032,968,0001,998,0002,396,160
52Mar 30, 2026 16:203,18057,611,12133,976,000999,0002,277,376
53Mar 30, 2026 16:203,18159,805,58232,987,0001,999,0002,400,256
54Mar 30, 2026 16:153,18556,796,09135,036,00002,277,376
55Mar 30, 2026 16:103,18656,772,01233,043,0002,002,0002,404,352
56Mar 30, 2026 16:223,18764,988,74734,056,0001,001,0002,277,376
57Mar 30, 2026 16:233,18959,264,97934,075,0001,002,0002,396,160
58Mar 30, 2026 16:123,18960,433,91434,080,0001,002,0002,392,064
59Mar 30, 2026 16:193,19056,772,83733,089,0002,005,0002,445,312
60Mar 30, 2026 16:263,20057,150,88933,190,0002,011,0002,273,280