#b462. 開卡包

開卡包

Description

Author: louishuang

nowob今天中了樂透,突然有錢的他在超盤的地下街買了 NN 盒寶可夢卡牌。第 ii 盒寶可夢卡牌裡面有 PiP_i 包卡包。

nowob打算回家開心地開卡包,他總共有 HH 小時的空閒時間,他希望能在 HH 小時內把所有卡包開完。

nowob可以決定一個開卡包的速度 SS(代表每小時最多開 SS 包卡包)。

開卡包的規則如下:

  1. 每小時他只能選擇一盒卡包來開,最多開 SS 包。

  2. 如果這盒卡包剩下的數量少於 SS 包,他會把這盒開完,但這小時剩下的時間不能去開別盒卡包只能休息。

  3. 也就是說,開完第 ii 盒卡包需要花費 Pi/S\lceil P_i / S \rceil 小時(無條件進位)。

因為開太快會折到卡片不好看,nowob希望他的開卡包速度 SS 能夠越慢越好。

請幫nowob計算出,若要在 HH 小時以內開完所有卡包,他最小的開卡包速度 SS 是多少?

Input Format

第一行包含一個正整數 TT (1T101 \le T \le 10),代表測試資料筆數。 每筆測資第一行包含兩個整數 N,HN, H (1N105,NH10141 \le N \le 10^5, N \le H \le 10^{14}),代表卡牌盒數與擁有的總小時數。(保證 HNH \ge N)。 第二行包含 NN 個整數 PiP_i (1Pi1091 \le P_i \le 10^9),代表每盒裡面卡包的數量。

Output Format

對每筆測資,輸出一行一個整數,代表最小的開卡包速度 SS

2
4 8
3 6 7 11
5 5
30 11 23 4 20
4
30

Hint

30\mathbf{30}%: N2000,Pi1000\sum N \le 2000, P_i \le 1000

70\mathbf{70}%: 無特別限制。

範例說明:

第一筆測資:時間限制為 8 小時。若速度 S=4S = 4,開完四盒分別需要 3/4=1\lceil 3/4 \rceil=1, 6/4=2\lceil 6/4 \rceil=2, 7/4=2\lceil 7/4 \rceil=2, 11/4=3\lceil 11/4 \rceil=3 小時。總共花費 1+2+2+3=81+2+2+3=8 小時,剛好能在規定時間內開完。

第二筆測資:時間限制為 5 小時。因為有 5 盒卡牌,每盒至少需要 1 小時來開,這代表每一盒都必須在 1 小時內開完。所以速度必須能夠一次開完數量最多的一盒,即合法速度為 30。