題目描述
農夫約翰的農場由 n 塊田地組成,每塊地里都有一定數量的牛,其數量不會少於1頭,也不會超過2000頭。
約翰希望用圍欄將一部分連續的田地圍起來,並使得圍起來的區域內每塊地包含的牛的數量的平均值達到最大。
圍起區域內至少需要包含 f 塊地,其中 f 會在輸入中給出。
在給定條件下,計算圍起區域內每塊地包含的牛的數量的平均值可能的最大值是多少。
輸入格式
第一行輸入整數 n 和 f ,資料間用空格隔開。
接下來 n 行,每行輸出乙個整數,第i+1行輸出的整數代表,第i片區域內包含的牛的數目。
輸出格式
輸出乙個整數,表示圍起區域內每塊地包含的牛的數量的平均值可能的最大值乘以1000得到的數值。
樣例輸入
10 66 4
21038
5941
樣例輸出6500
分析
二分板題。。。
+字首和
ac**
#include
int n, f;
const
int maxn =
100005
;int a[maxn]
;double s[maxn]
;bool
check
(double k)
return0;
}int
main()
printf
("%d",(
int)
(r *
1000))
;return0;
}
最佳牛圍欄
戳我進原題 題意 給定乙個長度為n nn的序列a aa,以及乙個長度len lenle n。問在這個序列a aa中,可以找到的長度至少為len lenle n的連續子串行的最大平均值為多少。資料範圍 1 n 105 1 leq n leq 10 5 1 n 10 5題解 二分答案。每次二分的答案為m...
acwing102 最佳牛圍欄
傳送門 二分答案,check函式主要方法就是,把所有的a i 先減去x,如果區間和是大於等於0的,也就是說這個區間的平均數大於x,從f開始,記錄前面的最小值,然後檢視是否存在答案。include using namespace std typedef long long ll define eps ...
最佳牛圍欄 字首和,二分
農夫約翰的農場由 n 塊田地組成,每塊地里都有一定數量的牛,其數量不會少於1頭,也不會超過2000頭。約翰希望用圍欄將一部分連續的田地圍起來,並使得圍起來的區域內每塊地包含的牛的數量的平均值達到最大。圍起區域內至少需要包含 f 塊地,其中 f會在輸入中給出。在給定條件下,計算圍起區域內每塊地包含的牛...