评测记录
#include<bits/stdc++.h>
using namespace std;
int n,a[100010],sum[100010],minn[100010],cnt=0,ans[100010];
double middle,maxx=-1.0;
int main()
{
memset(minn,0x3f,sizeof(minn));
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>a[i];
sum[i]=sum[i-1]+a[i];
}
for(int i=n;i>=1;i--)
minn[i]=min(minn[i+1],a[i]);
for(int i=1;i<=n-2;i++)
{
middle=(sum[n]-sum[i]-minn[i+1])*1.0/(n-i+1);
if(middle==maxx)
{
ans[++cnt]=i;
}
else if(middle>maxx)
{
maxx=middle;
cnt=0;
ans[++cnt]=i;
}
}
for(int i=1;i<=cnt;i++)
cout<<ans[i]<<'\n';
return 0;
}