照着题解的思路写,结果还是这样
#include<bits/stdc++.h>
using namespace std;
const long long Max = 100005;
long long n;
double maxn;
double a[Max],sum[Max],mnn[Max],ans[Max];
int main()
{
cin >> n;
memset(mnn,100005,sizeof(mnn));
for (int i = 1;i <= n;i++){
cin >> a[i];
}
for (int i = n;i >= 2;i--){
mnn[i]=min(mnn[i+1],a[i]);
sum[i] = sum[i+1] + a[i];
if (i != n)
ans[i] =(sum[i]-mnn[i])/(double)(n-i);
}
for (int i = 2;i <= n-1;i++){
maxn = max(maxn,ans[i]);
}
for (int i = 2;i <= n-1;i++){
if (maxn == ans[i])
cout << i-1 << endl;
}
return 0;
}
dalao救救孩子吧