CF748E Santa Claus and Tangerines

题目描述

​ 圣诞老人有n个橘子,每个橘子的第i个都是由 $a_{i}$片。圣诞老人来到一所有$k$个学生的学校。圣诞老人决定用橘子招待他们。 ​ 然而,橘子可能太少,不能给每个学生提供至少一个橘子。所以圣诞老人决定把橘子分成几个部分,这样就不会有人生气了。为了做到这一点,他可以把一个橘子或任何现存的部分分成两个更小的相等的部分。如果他想分割的部分的橘子瓣数量是奇数,那么得到的一个部分将比另一个多出一片。只由一片组成的橘子是不允许分割的。 ​ 圣诞老人想要送给每个人一个完整的橘子或者恰好是其中的一部分(这也意味着每个人都必须得到一个正数片)。一个或几个橘子或他们的部分可能留在圣诞老人那里没有分发。 ​ 若$b_{i}$为第i个学生最后的切片数,则圣诞老人的快乐值成为 $b_{i}$ 中最小的。 ​ 你的任务是在圣诞老人用橘子(或其中几瓣)招待每个人之后,求最大的快乐值。

输入格式

​ 第一行: 两个正整数 $n,k ( 1

输出格式

​ 若无解输出-1,否则输出最大快乐值。

说明/提示

In the first example Santa should divide the second tangerine into two parts with $ 5 $ and $ 4 $ slices. After that he can present the part with $ 5 $ slices to the first pupil and the whole first tangerine (with $ 5 $ slices, too) to the second pupil. In the second example Santa should divide both tangerines, so that he'll be able to present two parts with $ 6 $ slices and two parts with $ 7 $ slices. In the third example Santa Claus can't present $ 2 $ slices to $ 3 $ pupils in such a way that everyone will have anything.