poj2018

网友投稿 527 2022-10-05

poj2018

poj2018

​​ Description

Farmer John’s farm consists of a long row of N (1 <= N <= 100,000)fields. Each field contains a certain number of cows, 1 <= ncows <= 2000.

FJ wants to build a fence around a contiguous group of these fields in order to maximize the average number of cows per field within that block. The block must contain at least F (1 <= F <= N) fields, where F given as input.

Calculate the fence placement that maximizes the average, given the constraint.

Input

Line 1: Two space-separated integers, N and F.Lines 2..N+1: Each line contains a single integer, the number of cows in a field. Line 2 gives the number of cows in field 1,line 3 gives the number in field 2, and so on.

Output

Line 1: A single integer that is 1000 times the maximal average.Do not perform rounding, just print the integer that is 1000*ncows/nfields.Sample Input

10 6 6 4 2 10 3 8 5 9 4 1 Sample Output

6500 Source

USACO 2003 March Green 一、分析 1.题意: 已知一个有 n个元素的数列,求其中连续的若干个(不少于 f个)元素的最大平均值,输 出该值的 1000 倍的整数部分。 2.样例 对于数列{6,4,2,10,3,8,5,9,4,1},第 4到9 位的平均值最大,即

,答

案为 6.5*1000=6500。 3.数据范围: 1<=n<=100000,Σai

include

define N 110000

int n,f,s[N],q[N]; int main(){ freopen(“poj2018.in”,”r”,stdin); //freopen(“poj2018.out”,”w”,stdout); scanf(“%d%d”,&n,&f); s[0]=0;int tmp=0; for (int i=1;i<=n;++i) scanf(“%d”,&tmp),s[i]=s[i-1]+tmp; double ans=(double)s[f]/f; int h=1,t=1; q[1]=0; for (int i=1;i<=n-f;++i){ while (h

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:微信小程序实现购物时限购商品的数量(附代码)(小程序购物车显示数量)
下一篇:微信小程序自定义底部tarbar的代码实现(微信小程序底部Tabbar)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~