Блог пользователя emli

Автор emli, 14 лет назад, По-русски
В деревне Гадюкино регулярно идут проливные дожди, в результате чего речка Вонючка, кото-
рую обычно можно просто перешагнуть, выходит из берегов. Чтобы можно было перейти разлив-
шуюся реку, планируется построить плавучий мост из бревен, оставшихся от строительства бани
бизнесмена, поселившегося неподалеку.
Все оставшиеся бревна имеют одинаковую толщину. При этом есть x бревен длины a и y бревен
длины b.
Построенный мост должен состоять из l рядов, каждый из которых составлен из одного или
нескольких бревен. Пилить бревна нельзя, так как последняя пила утонула при разливе Вонючки.
Главный инженер хочет построить мост максимальной возможной ширины, при этом ширина
моста определяется по минимальной ширине ряда бревен.
Например, если нужно построить мост из семи рядов, и при этом есть шесть бревен длины 3 и
десять бревен длины 2, то можно построить мост ширины 5.

Формат входного файла
Входной файл содержит пять натуральных чисел: x, a, y, b и l. Все числа не превышают 150.
Общее количество бревен не меньше l.

Формат выходного файла
Выведите в выходной файл одно число — максимальную возможную ширину моста.

Примеры
6 3 10 2 7  ==>5
10 7 20 9 25  ==>9

  • Проголосовать: нравится
  • -6
  • Проголосовать: не нравится

14 лет назад, # |
Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится
Я бы решал динамикой. в g[xi][yi](xi,yi-сколько таких и таких бревен использовали) храним какой ширины можем построить мост. Переходы можно определить так: все возможные способы набора I. То есть считаешь преддинамику (за квадрат) можешь ли с помощью i бревен первой длины и j второй построить ровно мост ширины 1. А дальше, как я уже сказал, все эти варианты заносишь в массив и делаешь переходы
14 лет назад, # |
Rev. 2   Проголосовать: нравится +1 Проголосовать: не нравится

int ans=0;

for (int i=0;i<=I;i++)

for (int j=0;j<=I;j++)

Если i*a+j*b==I то ans=max(ans,min( (i!=0)?x/i: 1000000, (j!=0)?y/j: 1000000));

14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Честно говоря, это боян. Это я еще на прошлогоднем отборе (2009) на ВКОШП решал. Кстати почти решил, хотя тогда не знал никакой динамики
»
7 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Картинка к первому примеру: