SzNOI 数据结构 c015:缓慢的网速

这道题看着很简单,但是题目的测试量有点大,容易超时,不能使用暴力破解

而且我个人觉得这题目四舍五入的数据怪怪的,NA好多次,最后四舍五入的数据用3以后能用了

原题如下:

内容:

放暑假了,小明想上网下载一些电影看,但是缓慢的网速令他无法忍受。他了解到了接下来的N个小时中的网速情况,想找一段连续的M个小时来下载电影,并且希望这M个小时的平均网速尽可能的大,你能编一个程序帮助他实现愿望吗?

输入输入文件第一行包含两个整数N、M,1<=M<=N<=1000000;第二行包含N个整数,表示第N个小时的网速。相邻两数之间用空格隔开。

输出输出文件仅有一行包含一个实数,表示最大的平均网速,保留小数点后两位。

样例

输入

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 ;
}

好坑的题目

时间: 2024-10-29 04:12:55

SzNOI 数据结构 c015:缓慢的网速的相关文章

路由器级联后网速慢的原因分析和问题解决

问题描述 一楼主路由器,接光猫拨号上网.二楼二级路由器,WAN口有线连接一楼的主路由器.路由器参数设置如下: 参数 主路由器 二级路由器 Local IP 192.168.0.1 192.168.2.1 DHCP 开启 开启 WAN IP - 192.168.2.254 DNS   192.168.0.1 实际使用中发现,一楼网速正常,但二楼网速慢,只能显示文字,显示不出来图片,打开视频时更是直接提示网络有故障. 问题分析 1,问题应该出在二级路由器上,上网能连通却速度缓慢,说明硬件连接没问题,

带宽升级后网速仍然慢?还有三点不能忘

很多企业为了解决网速不够用的问题,都升级了带宽资源.比如50M升级到100M,或者干脆多拉几根外线.但是,很多用户发现,带宽升级了但是网络还是慢. 本文中,我整理了企业带宽优化的三点要求.带宽升级后,一定要注意这三点,才能真正的享受带宽升级带来的更好宽带体验. 1. 合理分配带宽资源 下载.视频等网络行为都会占用大量的带宽资源,为了局域网用户都可以正常上网.你还需要对内网的带宽资源进行合理分配.否则,个别害群之马就可以把你的带宽耗光.带宽的分配原则是: 优先保障有线网段 重要人员和部门优先 单I

Ubuntu实时查看网速、CPU、内存等信息

Indicator-Sysmonitor : 好像版本没有下载对,没有办法显示网速 但是百分比的显示非常喜欢..而且还能顺便编辑点字显示 Indicator-Multiload : 下面可以显示很多但是是图形化,百分比就好了干净清晰 sudo add-apt-repository ppa:indicator-multiload/stable-daily sudo apt-get update sudo apt-get install indicator-multiload 参考链接: http:

使用Linux命令行测试网速

使用Linux命令行测试网速http://www.linuxde.net/2014/01/15561.html 当发现上网速度变慢时,人们通常会先首先测试自己的电脑到网络服务提供商(通常被称为"最后一公里")的网络连接速度.在可用于测试宽带速度的网站中,Speedtest.net也许是使用最广泛的. Speedtest.net的工作原理并不复杂:它在你的浏览器中加载JavaScript代码并自动检测离你最近的Speedtest.net服务器,然后向服务器发送HTTP GET and P

ruby on rails 网页上如何实时显示服务器网速?

要在网页上实时显示网速,需要实时请求服务器(由于许多浏览器不支持web socket,这里还是用ajax轮询的方式),这里的服务器以centos为例,使用sysstat,不同的服务器,可能需要不同的软件支持. 一.centos里安装sysstat yum  install sysstat 安装完成后,使用sar -V查看 二.sar的使用 首先使用ifconfig查看使用的网上,确认一个要查看的网卡的名称,这里我使用的是eth0 然后使用sar获取网速: sar -n DEV 1 1 | gre

如何限制网速?怎么控制流量?

如何设置局域网网速大小? 网络协议占用带宽越来越多,限速功能也成为很多网络设备,网络软件的火热功能,但是限速到底能不能提高局域网网络带宽整体使用,这个也是仁者见仁智者见智了.详见"网络带宽资源优化" 因为限速功能涉及局域网整体流量,所以,限速的设备一定是要串联在网络里面才可以稳定,安全的实现,最常见的就是路由,但是很多路由的限速功能做的比较粗略,并没有达到让局域网设备限速的效果,本文介绍的Wfilter上网行为管理的限速功能可以参考(PS,Wfilter上网行为管理系统的免费版也有这个

js 测试服务器网速

网站的加载速度对于一个网站来说非常重要,自己用着来自不同厂商的服务器,对比优劣,所给磁盘.内存空间等等感觉都够用不是事,主要响应速度有比较大的差异,直觉看比较麻烦,于是写了个简单的页面直接测试加载速度. head部分写入以下内容,记下开始时刻: <script> var start = new Date().getTime(); </script> 然后往body里添加一张图片,记下图片大小(your-img-size). 最后在</body>前插入一段js: <

ios测试基础六:ios模拟不同网速

iOS模拟不同网络速度,模拟2G 3G网速下,检验手机上运行是否正常,各种loading图标使用是否正常等 前提准备: 1. 电脑 上安装 charles或者fiddler 代理软件: 2. iphone真机或模拟器: 操作步骤: 1.将iphone真机绑定 代理,电脑上打开代理软件,比如charles 2. 在charles菜单 栏上 选择 "Proxy"--"Throttle Setting"; 3. 在打开的弹框中,作如下选择,点击"ok"

linux环境下,利用tc限制两台服务器间的网速,非常简单。

最近再搞postgres的数据同步,需要模拟异地机房有带宽限制时的同步效果,所以想要限制一下两台机器之间的网速. ts命令功能很强,同时也好难理解和使用,经常浪费了好半天还是搞不定. 这里分享一个简单好用的脚本,只要设置一下目标ip和需要限制的速率,执行下就可以了: #!/bin/bash # # tc uses the following units when passed as a parameter. # kbps: Kilobytes per second # mbps: Megabyt