首 先 最 大 的 数 肯 定 要 选 首先最大的数肯定要选

然 后 就 选 一 些 小 的 数 然后就选一些小的数

开 始 选 最 小 的 数 平 均 值 肯 定 下 降 开始选最小的数平均值肯定下降

选 到 后 面 比 较 大 的 数 平 均 值 会 上 升 选到后面比较大的数平均值会上升

所 以 可 以 用 三 分 求 极 值 所以可以用三分求极值

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int maxn=5e5+10;
ll n,a[maxn],pre[maxn],top;
double calc(int x){
	return (pre[x]+a[top])*1.0/(x*1.0+1.0);
}
int main()
{
	cin >> n;
	while(n--)
	{
		ll ok,x;
		scanf("%lld",&ok);
		if(ok==2)
		{
			int l=1,r=top-1;
			double ans=0;
			while(r>=l)
			{
				int mid1=(r-l)/3+l,mid2=r-(r-l)/3;
				double q=calc(mid1),w=calc(mid2);
				if(q>w)	l=mid1+1,ans=max(ans,a[top]-w);
				else	r=mid2-1,ans=max(ans,a[top]-q);	
			}
			printf("%.10lf\n",ans);
		}
		else
		{
			scanf("%lld",&x);
			a[++top]=x,pre[top]=pre[top-1]+x;
		}
	}
}