很久没写题啦,都废掉了。。。
Intense Heat
题意:
求区间不小于k的平均值、
思路:
构造一个求和的数组,两层for循环分别表示区间长度和区间终点,求最大
代码:
#include <iostream>
#include <set>
#include <cstdio>
#include <cstring>
using namespace std;
int a[5500];
int main() {
int n, m;
double maxx,sum;
while (~scanf("%d%d", &n, &m)) {
maxx=0;
a[0]=0;
for (int i = 1; i <= n; i++)
scanf("%d", &a[i]),a[i]=a[i]+a[i-1];
for(int i=m;i<=n;i++){
for(int j=i;j<=n;j++){//zhongdian
maxx=max(maxx,(a[j]-a[j-i])*1.0/i);
}
}
printf("%.15f\n",maxx);
}
return 0;
}
本文介绍了一种通过构造求和数组并使用双层循环来解决区间内不小于特定值的平均值问题的方法。该方法利用了C++语言特性,通过预处理数组减少计算复杂度。

被折叠的 条评论
为什么被折叠?



