Задача №111426. Раздел имущества
В этой задаче входные данные записаны в файле exchange.in, вывод нужно записать в файл exchange.out.
Вася — профессиональный юрист, и сейчас он рассматривает очередное дело о разделе имущества. Всего имеется N наследников, каждый из них имеет значимость Ri. Богатый дедушка оставил им состояние в размере L иностранных тугриков. Логично раздать наследство пропорционально значимости, в этом случае i-ый наследник получит иностранных тугриков. Однако, наследники очень привередливы, поэтому наследник желает получить кругленькую сумму, т.е. ту, которая делится на Si.
Чтобы выполнить просьбу наследников, Вася может округлять числа Ai до ближайшего, делящегося на Si (в случае, если делимость не имеет места). При этом, Вася сам выбирает, округлить очередное число вниз или вверх. Пусть Bi означает, сколько в итоге получит очередной наследник. Так как Вася — честный человек, он хочет минимизировать . В случае нескольких вариантов, он выбирает тот, при котором
будет наименьшей.
В первой строке входных данных содержится два целых числа N и L — количество наследников и размер состояния, соответственно (1 ≤ N ≤ 30, 1 ≤ L ≤ 109). В следующей строке содержатся значимости наследников Ri (). В следующей строк содержатся числа Si (1 ≤ Si ≤ 109).
Выведите единственное число — искомую оптимальную сумму .
2 250
1 2
100 150
250
3 1000
25 25 50
34 77 52
989
3 10
1 1 0
50 50 50
0