codeforces——808B——Average Sleep Time
来源:互联网 发布:java使用数据库连接池 编辑:程序博客网 时间:2024/05/17 06:51
It's been almost a week since Polycarp couldn't get rid of insomnia. And as you may already know, one week in Berland lastsk days!
When Polycarp went to a doctor with his problem, the doctor asked him about his sleeping schedule (more specifically, the average amount of hours of sleep per week). Luckily, Polycarp kept records of sleep times for the lastn days. So now he has a sequence a1, a2, ..., an, whereai is the sleep time on thei-th day.
The number of records is so large that Polycarp is unable to calculate the average value by himself. Thus he is asking you to help him with the calculations. To get the average Polycarp is going to considerk consecutive days as a week. So there will ben - k + 1 weeks to take into consideration. For example, ifk = 2,n = 3 anda = [3, 4, 7], then the result is.
You should write a program which will calculate average sleep times of Polycarp over all weeks.
The first line contains two integer numbers n andk (1 ≤ k ≤ n ≤ 2·105).
The second line contains n integer numbersa1, a2, ..., an (1 ≤ ai ≤ 105).
Output average sleeping time over all weeks.
The answer is considered to be correct if its absolute or relative error does not exceed10 - 6. In particular, it is enough to output real number with at least 6 digits after the decimal point.
3 23 4 7
9.0000000000
1 110
10.0000000000
8 21 2 4 100000 123 456 789 1
28964.2857142857
In the third example there are n - k + 1 = 7 weeks, so the answer is sums of all weeks divided by 7.
输入n,m,输入n个数,求n-m+1个 相邻的m个数和 相加的平均数
注意时间复杂度。
#include<iostream>#include<algorithm>#include<stdio.h>#include<cstring>#include<cmath>#include<map>using namespace std;int main(){ int n,m,a[200008]; while(cin>>n>>m!=NULL) { for(int i=0; i<n; i++) cin>>a[i]; long long sum=0; for(int i=0; i<m; i++) sum+=a[i]; double ans=sum/((n-m+1)*1.0); for(int i=1; i<=n-m; i++) { sum=sum+a[i+m-1]-a[i-1]; ans+=sum/((n-m+1)*1.0); } printf("%.10lf\n",ans); } return 0;}
- codeforces——808B——Average Sleep Time
- codeforces 808B——Average Sleep Time
- Codeforces 808B——Average Sleep Time——思维
- 【codeforces 808】B.Average Sleep Time
- Codeforces 808B Average Sleep Time 题解
- Codeforces 808B Average Sleep Time
- Educational Codeforces Round 21 808B Average Sleep Time
- 【Codeforces 808 B. Average Sleep Time】+ 前缀和
- 【Codeforces 808B】【容斥原理】Average Sleep Time 题解
- B. Average Sleep Time
- codeforces Educational Codeforces Round 21 B. Average Sleep Time
- Educational Codeforces Round 21 B. Average Sleep Time
- Educational Codeforces Round 21 B. Average Sleep Time
- Educational Codeforces Round 21B. Average Sleep Time
- CF#808 B. Average Sleep Time(水题)
- Educational Codeforces Round 21 B.Average Sleep Time 前缀和,双指针
- Codeforces Educational Codeforces Round 21 [5.30] Tea Party&Array Division&Average Sleep Time&Lucky
- Educational Codeforces Round 21 B aevrage sleep time
- 51Nod-1136 欧拉函数【数论】
- Java内存分配全面浅析
- Profile 工具系列之四:simpleperf
- 电脑DNS修复
- NS 发送一个 cbr 数据包的过程
- codeforces——808B——Average Sleep Time
- C++动态内存分配
- 剖析生产者和消费者模型
- Tensorflow进行深度学习(第一)
- Java---模块一:语言基础
- $.extend
- 【正则表达式】个人积累的正则表达式案例
- 【Java工具之】每个 Java 开发者应该知道(并爱上)的 8 个工具
- matplotlib-随机漫步