AcWing寒假每日一題 Day6剪繩子

2021-10-14 17:46:04 字數 1032 閱讀 3817

有 n 根繩子,第 i 根繩子長度為l

i\ l_i

li​,現在需要m根等長的繩子,你可以對 n 根繩子進行任意裁剪(不能拼接),請你幫忙計算出這 m 根繩子最長的長度是多少。

輸入格式

第一行包含2個正整數n、m,表示原始繩子的數量和需求繩子的數量。

第二行包含n個整數,其中第 i 個整數l

i\ l_i

li​表示第 i 根繩子的長度。

輸出格式

輸出乙個數字,表示裁剪後最長的長度,保留兩位小數。

資料範圍

1≤n ,m

\ n,m

n,m≤100000,

0i\ l_i

li​<109

\ 10^9

109輸入樣例

3 4

3 5 4

輸出樣例

2.50
樣例解釋:

第一根和第三根分別裁剪出一根2.50長度的繩子,第二根剪成2根2.50長度的繩子,剛好4根。

我們可以將問題轉化為在一段區間內求滿足題意的繩子的最大值。,本題用到了浮點數的二分法。

**如下(示例):

#include

#include

using

namespace std;

int n,m;

int q[

100010];

bool

check

(double mid)

//判斷是否滿足題意,即所有情況的和》=要求的m個數

intmain()

printf

("%.2lf\n"

,r);

//輸出r或l都可

return0;

}

acwing寒假每日一題題解

貨倉選址 頭兩天的每日一題有點水 include using namespace std int s 505 505 int i,j intmain void 語法題蛇形添數 輸入兩個整數n和m,輸出乙個n行m列的矩陣,將數字 1 到 n m 按照回字蛇形填充至矩陣中。具體矩陣形式可參考樣例。輸入格...

acwing 寒假每日一題題解

本篇部落格是基於acwing活動中的寒假每日一題 活動位址 在一條數軸上有 n 家商店,它們的座標分別為 a1 an。現在需要在數軸上建立一家貨倉,每天清晨,從貨倉到每家商店都要運送一車商品。為了提高效率,求把貨倉建在何處,可以使得貨倉到每家商店的距離之和最小。輸入格式 第一行輸入整數n。第二行n個...

AcWing寒假每日一題 Day9獎學金

某小學最近得到了一筆贊助,打算拿出其中一部分為學習成績優秀的前5名學生發獎學金。期末,每個學生都有3門課的成績 語文 數學 英語。先按總分從高到低排序,如果兩個同學總分相同,再按語文成績從高到低排序,如果兩個同學總分和語文成績都相同,那麼規定學號小的同學排在前面,這樣,每個學生的排序是唯一確定的。任...