最佳牛圍欄 題解

2021-10-07 11:33:10 字數 830 閱讀 2995

題目描述

農夫約翰的農場由 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會在輸入中給出。在給定條件下,計算圍起區域內每塊地包含的牛...