Сбрасывание самых толстых людей с перегруженного самолета.

Допустим, у вас есть самолет, и в нем мало топлива.Если самолет не сбросит 3000 фунтов веса пассажира, он не сможет добраться до следующего аэропорта. Чтобы спасти максимальное количество жизней, мы хотим сначала сбрасывать с самолета самых тяжелых людей.

И да, в самолетах миллионы людей, и нам нужен оптимальный алгоритм для поиска самых тяжелых пассажиров,без обязательной сортировки всего списка.

Это проблема прокси для чего-то, что я пытаюсь кодировать на C ++. Я хотел бы выполнить "partial_sort" в манифесте пассажира по весу, но я не знаю, сколько элементов мне понадобится. Я мог бы реализовать свой собственный алгоритм "partial_sort" ("partial_sort_accumulate_until"), но мне интересно, есть ли более простой способ сделать это с помощью стандартного STL.

197
задан Louis Rhys 12 October 2011 в 17:35
поделиться