P1577 切繩子 二分 C

2021-09-27 12:32:31 字數 1095 閱讀 6237

有n條繩子,它們的長度分別為li。如果從它們中切割出k條長度相同的

繩子,這k條繩子每條最長能有多長?答案保留到小數點後2位(直接捨掉2為後的小數)。

第一行兩個整數n和k,接下來n行,描述了每條繩子的長度li。

切割後每條繩子的最大長度。

輸入 #1

4 11

8.02

7.43

4.57

5.39

輸出 #1

2.00
這題目就是常規的二分,但是我們要考慮繩子長度不可以四捨五入,因為繩子只可以短,不可以長,就像你有99塊錢,你就不可以去買100塊錢的東西。

#define _crt_secure_no_warnings

#include

#include

#include

#include

#include

#include

#define esp 1e-4

#define size 10000+10

char s[

100]

;using

namespace std;

double a[size]

;int n, k;

bool

check

(double len)

return sum >= k;

}int

main()

double l =0;

double r =

100000

;while

(r - l > esp)

//這裡要做處理,不四捨五入,直接用字串擷取

sprintf

(s +1,

"%.3f"

, l)

; s[

strlen

(s +1)

]='\0'

;printf

("%s"

, s +1)

;return0;

}

洛谷 P1577 切繩子 二分

題目描述 有n條繩子,它們的長度分別為li。如果從它們中切割出k條長度相同的 繩子,這k條繩子每條最長能有多長?答案保留到小數點後2位。輸入輸出格式 輸入格式 第一行兩個整數n和k,接下來n行,描述了每條繩子的長度li。輸出格式 切割後每條繩子的最大長度。輸入輸出樣例 輸入樣例 1 4 11 8.0...

洛谷 P1577 切繩子

原題 有n條繩子,它們的長度分別為li。如果從它們中切割出k條長度相同的繩子,這k條繩子每條最長能有多長?答案保留到小數點後2位。輸入輸出格式 輸入格式 第一行兩個整數n和k,接下來n行,描述了每條繩子的長度li。輸出格式 切割後每條繩子的最大長度。輸入輸出樣例 輸入樣例 1 複製 4 11 8.0...

洛谷 P1577 切繩子

網線主管。我一直奇怪為什麼洛谷沒有網線主管,原來是有人抄得一模一樣。在洛谷上ac可以去交一下 不用改 首先看到這資料範圍,然後又是求最優解,首先就要考慮下貪心行不行 我嫌浮點數乘除麻煩,就讀入時乘上100,中間二分時r的範圍也要乘上100,最後輸出時除以100 因為c 自帶整除 偏向0取整,你可以試...