Problem Description
Consider a simple sequence which only contains positive integers as a1, a2 ... an, and a number k. Define ave(i,j) as the average value of the sub sequence ai ... aj, i<=j. Let’s calculate max(ave(i,j)), 1<=i<=j-k+1<=n.

Input
There multiple test cases in the input, each test case contains two lines.
The first line has two integers, N and k (k<=N<=10^5).
The second line has N integers, a1, a2 ... an. All numbers are ranged in [1, 2000].

Output
For every test case, output one single line contains a real number, which is mentioned in the description, accurate to 0.01.

PS：这就是传说中的来自数据组数的恶意吗，看上去似乎有100组大数据的感觉……G++超时的可以尝试用C++交，HDU的C++读入比G++快，而且优化的程度也不同。

``` #include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
#include <cctype>
using namespace std;
typedef long long LL;

;

int sum[MAXN];
int n, k;

char c = getchar();
while(!isdigit(c)) c = getchar();
;
+ c - ', c = getchar();
return res;
}

struct Point {
int x, y;
Point() {}
Point(int x, int y): x(x), y(y) {}
Point operator - (const Point &rhs) const {
return Point(x - rhs.x, y - rhs.y);
}
double slope() {
return (double)y / x;
}
};

LL cross(const Point &a, const Point &b) {
return (LL)a.x * b.y - (LL)a.y * b.x;
}

LL cross(const Point &o, const Point &a, const Point &b) {
return cross(a - o, b - o);
}

Point que[MAXN], p;

double solve() {
;
head = ; tail = -;
for(int i = k; i <= n; ++i) {
p = Point(i - k, sum[i - k]);
], que[tail], p) <= ) --tail;
que[++tail] = p;

p = Point(i, sum[i]);
res = max(res, (p - que[head]).slope());
}
return res;
}

int main() {
while(scanf("%d%d", &n, &k) != EOF) {
; i <= n; ++i) sum[i] = sum[i - ] + readint();
printf("%.2f\n", solve());
}
}```

## HDU 2993 MAX Average Problem（斜率优化）的更多相关文章

1. hdu 2993 MAX Average Problem(斜率DP入门题)

题目链接:hdu 2993 MAX Average Problem 题意: 给一个长度为 n 的序列,找出长度 >= k 的平均值最大的连续子序列. 题解: 这题是论文的原题,请参照2004集训 ...

2. HDU 2993 MAX Average Problem dp斜率优化

MAX Average Problem Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Othe ...

3. 数据结构：HDU 2993 MAX Average Problem

MAX Average Problem Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Othe ...

4. HDU 2993 MAX Average Problem（斜率优化DP）

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2993 题目大意:给定一个长度为n(最长为10^5)的正整数序列,求出连续的最短为k的子序列平均值的最大 ...

5. MAX Average Problem（斜率优化dp）

MAX Average Problem Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Othe ...

6. HDU 3045 Picnic Cows（斜率优化DP）

Picnic Cows Time Limit: 8000/4000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Tota ...

7. hdu 3669 Cross the Wall(斜率优化DP)

题目连接:hdu 3669 Cross the Wall 题意: 现在有一面无限大的墙,现在有n个人,每个人都能看成一个矩形,宽是w,高是h,现在这n个人要通过这面墙,现在只能让你挖k个洞,每个洞不能 ...

8. HDU 3507 Print Article（斜率优化DP）

题目链接 题意 : 一篇文章有n个单词,如果每行打印k个单词,那这行的花费是,问你怎么安排能够得到最小花费,输出最小花费. 思路 : 一开始想的简单了以为是背包,后来才知道是斜率优化DP,然后看了网上 ...

9. HDU 3480 Division（斜率优化+二维DP）

Division Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 999999/400000 K (Java/Others) Tota ...

## 随机推荐

1. AutoMapper(六)

返回总目录 List和数组 AutoMapper只要求元素类型的配置而不要求可能会用到的任何数组或者list类型.比如,我们有一个简单的源和目标类型: public class Source{ pub ...

2. iOS and JAVA 的 RSA 加密解密 (转载整理 )

参考原文地址:http://www.cnblogs.com/makemelike/articles/3802518.html (至于RSA的基本原理,大家可以看 阮一峰的网络日志 的 RSA算法原理( ...

3. 1002. A+B for Polynomials

1002. A+B for Polynomials (25) This time, you are supposed to find A+B where A and B are two polynom ...

4. 您的应用静态链接到的 OpenSSL 版本有多个安全漏洞。建议您尽快更新 OpenSSL

安全提醒 您的应用静态链接到的 OpenSSL 版本有多个安全漏洞.建议您尽快更新 OpenSSL. 在开头为 1.0.1h.1.0.0m和 0.9.8za的 OpenSSL 版本中这些漏洞已得到修复 ...

5. Activiti 查询最新版本的流程定义

package com.mycom.processDefinition; import java.io.File; import java.io.IOException; import java.io ...

6. Windows技巧 - 右键菜单【在此处打开bash】

实现效果如下图: 步骤如下:按住shift,在文件夹空白处(桌面也可以)鼠标右键,即可看到 Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROO ...

7. javascript 函数节流方法

函数节流可以缓解调用的次数,代码如下: function throttle(method,delay){ var timer=null; return function(){ var context= ...

8. 【整理】JavaEE基本框架（Struts2+Spring+MyBatis三层，Struts MVC）之间的关系

#[整理]JavaEE基本框架(Struts2+Spring+MyBatis三层,Struts MVC)之间的关系 ![关系图解](http://images.cnitblog.com/blog/84 ...

9. jpa动态创建EntityManagerFactory 态设置数据库连接 EntityManager;

//jpa动态创建EntityManagerFactory 态设置数据库连接EntityManager;createEntityManagerFactory(String persistenceUni ...

10. 使用DriverManager获取数据库连接的一个小改进

由于使用DriverManager获取数据库连接时,由于DriverManager实现类中有一段静态代码块,可以直接注册驱动,且可以同时管理多个驱动程序 所以当换数据库连接时需要指定不同的数据库,那么 ...