#2029. [ABC252F] Bread
[ABC252F] Bread
题目描述
你有一根长度为 的面包,现在你要将它分给 个孩子,第 个孩子想要一根长度为 的面包。
对于一根长度为 的面包,你可以选择一个在 的整数 ,将面包切分成长度为 和 的两部分,这将花费 的代价。
第 个孩子获得的面包长度必须为 ,但我们允许有面包剩余。
请你花费最少的代价,将这根面包分给孩子们。
输入格式
第一行输入
第二行输入
输出格式
输出一个整数
5 7
1 2 1 2 1
16
3 1000000000000000
1000000000 1000000000 1000000000
1000005000000000
样例 1 解释
高桥可以按如下方法为孩子们切面包。
- 选择长度为 和 的面包,将其切成长度为 和 的面包,成本为 。
- 选择长度为 和 的面包,将其切成长度为 和 的面包,成本为 。把前者给 这个孩子。
- 选择长度为 和 的面包,切成长度为 的两个面包,成本为 。把它们分给 个和 个孩子。
- 选择长度为 和 的面包,切成长度为 的两个面包,成本为 。把它们送给 -nd和 -th的孩子。
这需要花费 ,这是可能的最低成本。不会有剩余的面包