dist_list_len = clients_offset = CANDIDATES_BUCKET_COUNT * CANDIDATES_TO_KEEP = 2^8 * 251 = 256 * 251 = 64256
uint64_t dist_list[dist_list_len]; => 64 bits * 64256 = 514048 bytes ~ 0.5 megabytes

That's one big array : )