HDU 2993 MAX Average Problem
来源:互联网 发布:最安全的cms 编辑:程序博客网 时间:2024/05/16 05:04
#include <cstdio>#include <algorithm>using namespace std;#define maxn 100005double sum[maxn];int Q[maxn];int head,tail;int GetInt(){ char ch=getchar(); while(ch<'0'||ch>'9')ch=getchar(); int num=0; while(ch>='0'&&ch<='9'){ num=num*10+ch-'0'; ch=getchar(); } return num;}bool check1(int i,int j,int k){ if((sum[j]-sum[i])/(double)(j-i)>=(sum[k]-sum[j])/(double)(k-j)) return 1; return 0;}bool check2(int i,int j,int k){ if((sum[k]-sum[i])/(double)(k-i)<=(sum[k]-sum[j])/(double)(k-j)) return 1; return 0;}int main(){ int n,k; while(~scanf("%d%d",&n,&k)) { int i; double a; for(sum[0]=0,i=1;i<=n;i++) { a=GetInt(); sum[i]=sum[i-1]+a; } double ans=0; head=tail=0; for(i=k;i<=n;i++) { while(head+1<tail&&check1(Q[tail-2],Q[tail-1],i-k)) tail--; Q[tail++]=i-k; while(head+1<tail&&check2(Q[head],Q[head+1],i)) head++; ans=max(ans,(double)(sum[i]-sum[Q[head]])/(i-Q[head])); } printf("%.2lf\n",ans); } return 0;}
0 0
- hdu 2993 MAX Average Problem
- hdu 2993 MAX Average Problem
- HDU 2993 MAX Average Problem
- HDU 2993 MAX Average Problem
- HDU 2993 MAX Average Problem
- 【HDU 2993】MAX Average Problem
- hdu 2993 MAX Average Problem
- HDU 2993 MAX Average Problem 斜率优化
- HDU 2993 MAX Average Problem (斜率优化)
- hdu 2993 MAX Average Problem(斜率dp)
- HDU 3045 MAX Average Problem
- HDU 2993 MAX Average Problem【斜率优化dp】
- HDU 2993 MAX Average Problem (数形结合) #by Plato
- hdu 2993 MAX Average Problem(DP+斜率优化入门题)
- HDU 2993 MAX Average Problem(斜率优化DP)
- hdu 2993 MAX Average Problem(DP+斜率优化)
- hdu 2993 MAX Average Problem 动态规划 斜率优化
- hdu 2993 MAX Average Problem 斜率优化DP
- HDU 3401 Trade
- 欧拉回路系列
- OpenProcess权限
- 【文件管理】文件系统的安装和拆卸
- 拓扑排序系列
- HDU 2993 MAX Average Problem
- Ios一行一行读取大文件
- 比赛图系列
- Oh My ZSH 和 Sublime Text 2 结合
- POJ 3709 K-Anonymous Sequence
- sql 入门经典总结
- 黑马程序员C#中类的可访问修饰符
- C++:类的成员函数
- 【剑指offer】连续子数组的最大和