QuickSelect, если его попросить k-ый c конца элемент, как раз положит максимальные k-1 справа от него. Ровно как в задаче и надо. И все это за O(n) в среднем.
struct gist_s {int val, count; };
). Это несколько увеличивает затраты по памяти в 2 раза, но это не критично. винда стала требовать пароль
reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v LocalAccountTokenFilterPolicy /t REG_DWORD /d 1 /f
одним из преимуществ использования сабнеттов является разделение бродкаст домейнов. Но это же не так?
Если все ваши сервисы - это веб сервисы со стандартными портами. То в этом случае пользователь должен сам указать правильный порт в URL.
Например: https://mail.domain.ru:8080/; https://other_services.domain.ru:8090/; https://www.domain.ru
Другой вариант - поставить промежуточный веб прокси, например nginx, и им разруливать разные доменные имена на разные локальные сервера. Тогда снаружи у вас будет использоваться один и тот же порт и надо настроить его перенаправление на nginx. Т.е. в такой схеме разруливанием потоков будет заниматься не роутер и NAT, а nginx.