牛客 華華給月月準備禮物 二分

2021-09-12 08:34:26 字數 1056 閱讀 4391

二月中旬虐狗節前夕,華華決定給月月準備乙份禮物。為了搭建禮物的底座,華華需要若干根同樣長的木棍。華華手頭上有一些長度參差不齊的木棍,他想將每根都裁剪成若干段自己想要的長度,並丟掉多餘的部分。因為華華的手很巧,所以他的裁剪過程不會有任何的失誤。也就是說,對於一根長度為n的木棍,華華可以精準的將它們裁剪為若干段木棍,使它們的長度之和為n。

華華不知道裁剪成多長比較好,所以乾脆越長越好。不過由於華華有點強迫症,所以他希望長度為非負整數。保證所有木棍的原長也是非負整數。那麼請問華華最終得到的每根木棍多長呢?

第一行兩個正整數n、k,表示木棍原本的根數和華華希望得到的木棍根數。

第二行n個正整數lili表示每根木棍的初始長度。

輸出一行乙個非負整數表示每根木棍的最大長度。
示例1

複製

5 10

4 4 4 5 3

複製

1
如果長度為2,只能得到2+2+2+2+1=9根,不夠;長度為1可以得到4+4+4+5+3=20根,足夠。所以答案最大是1。
示例2

複製

5 3

1 2 3 4 5

複製

3
1≤n≤2×1051≤n≤2×105,1≤li≤1091≤li≤109,1≤k≤1091≤k≤109
思路:二分最大值問題。再貼一次我寫的專題233333:(可能對你很有幫助)

二分乙個中間值,然後判斷當前長度可以得到的木棍數,將其與題目的k比較來修改上下界。上下界的修改請看上面那篇部落格, 不再贅述了。

#include#include#include#include#includetypedef long long ll;

using namespace std;

int n,k;

ll sum=0;

ll a[200005];

int main()

if(cntr=mid-1;

else

l=mid+1;

} printf("%lld\n",r);

return 0;

}

華華給月月準備禮物(二分)

題目描述 二月中旬虐狗節前夕,華華決定給月月準備乙份禮物。為了搭建禮物的底座,華華需要若干根同樣長的木棍。華華手頭上有一些長度參差不齊的木棍,他想將每根都裁剪成若干段自己想要的長度,並丟掉多餘的部分。因為華華的手很巧,所以他的裁剪過程不會有任何的失誤。也就是說,對於一根長度為n的木棍,華華可以精準的...

華華給月月準備禮物

時間限制 c c 1秒,其他語言2秒 空間限制 c c 32768k,其他語言65536k 64bit io format lld 二月中旬虐狗節前夕,華華決定給月月準備乙份禮物。為了搭建禮物的底座,華華需要若干根同樣長的木棍。華華手頭上有一些長度參差不齊的木棍,他想將每根都裁剪成若干段自己想要的長...

華華和月月種樹(牛客)

題意 華華看書了解到,一起玩養成類的遊戲有助於兩人培養感情。所以他決定和月月一起種一棵樹。因為華華現在也是資訊學高手了,所以他們種的樹是資訊學意義下的。華華和月月一起維護了一棵動態有根樹,每個點有乙個權值。剛開存檔的時候,樹上只有 0 號節點,權值為 0 接下來有兩種操作 操作 1 輸入格式1 i,...