【codeforces 808】B.Average Sleep Time

来源:互联网 发布:python 毫秒级时间戳 编辑:程序博客网 时间:2024/05/16 18:35

题目链接:http://codeforces.com/contest/808/problem/B
题意:就是n个数,求连续的k个数相加之和的平均值。

#include <iostream>#include <cstdio>using namespace std;int a[200002];double f[200002];  //用f[i]存放到第i个位置是,前面数的和,预处理下即可int main(){    int n,k;    scanf("%d %d",&n,&k);    for(int i=0;i<n;i++){        scanf("%d",&a[i]);    }    f[0]=a[0];    for(int i=1;i<n;i++){        f[i]=f[i-1]+a[i];    }    double sum=f[k-1];    for(int i=1,j=i+k-1;i+k-1<n&&j<n;i++,j++){        sum+=f[j]-f[i-1];    }    printf("%lf\n",sum/(n-k+1));    return 0;}
原创粉丝点击