这道题看着很简单,但是题目的测试量有点大,容易超时,不能使用暴力破解
而且我个人觉得这题目四舍五入的数据怪怪的,NA好多次,,最后四舍五入的数据用3以后能用了
原题如下:
内容:
输出输出文件仅有一行包含一个实数,表示最大的平均网速,保留小数点后两位。
样例
输入
6 3
3 6 1 5 6 4
输出
5.00
下面是代码:
#include<algorithm>#include<iostream>#include<stdio.h>using namespace std ;int main () {long int n , m ;cin >> n ;cin >> m ;static long int num =0;int cmp(int x, int y) ;long int speed[1000000]={0} ,total[1000000]={0} ;for(long int i = 0 ; i< n ; i++) {cin >> speed[i] ;}/*for(long int j = 0 ;j < (n-m) ;j++) {for(long int k=0;k<m;k++){total[j] += speed[j+k] ;}}*/for(long int k =0 ; k <m;k++) {total[0] +=speed[k] ;}for(long int j = 1 ;j < (n-m) ; j++) {total[j] = total[j-1]-speed[j-1] +speed[m-1+j] ;}sort(total,total+n-m,cmp) ;float answer = total[0]*1.00/m ;//float end =(int)((answer * 100) + 0.5)*1.0 / 100.0;float end = ( answer*1000 + 3 ) *1.0/1000.0;printf("%.2f",end);}int cmp(int x ,int y) {return x> y ;}
好坑的题目
呼唤你前往另一个地方,过上另一种生活。