У меня есть башни с высотой H = h1, h2, h3 ... и у меня есть режущий станок, который режет только каждую башню с определенной длиной A = a1, a2, a3 .. и у меня есть m срезов, чтобы найти минимумвозможная высота самой высокой башни.
для экс. H = 1, 4, 9, 16, 25 и A = 1,2,3,4,5
m = 3 (только3 разреза)
минимально возможная высота равна 15, так как после разрезов массив выглядит как H = 1,4,9,12,15 (после применения 0, 0, 0, 1, 2 разрезов соответственно на башнях)
То, что я пытался: я распознал это как жадную проблему (поправьте меня, если я ошибаюсь), и я попытался отсортировать массив H и простым способом сначала попытался сократить максимальную высоту, чтобы она больше не оставаласьмаксимум, а затем нашли новый максимум и снова применили те же шаги, это правильно, но это слишком наивно и требует большого количества времени для больших значений?
Время, необходимое для шагов: поиск максимального элемента каждый раз O (N) исортировка также не возможна (каждый раз).
Ограничения для n
до 10 ^5 и m
около 10 ^ 18.
Есть ли лучший подход?Веди меня !!