rt
这是我pts85的代码(Wa on Subtask #1)
#include<bits/stdc++.h>
#define double long double
using namespace std;
double ans=1e9,maxx;
int n,D[200000005],a[100005];
int main(){
cout.tie(0);cin.tie(0);
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
for(int j=1;j<=1.1*a[i];j++){
double ihs=(a[i]+1.0)/j,ils=a[i]*1.0/j;
int hs=ihs*100003,ls=ils*100003;
D[ls+1]++;D[hs+1]--;
}
}
for(int i=1;i<=100003*n;i++){
D[i]+=D[i-1];
if(D[i]==n){
maxx=max(maxx,(double)i/100003.0);
}
}
cout<<fixed<<setprecision(10)<<maxx;
return 0;
}
但我将所有100003改为114514之后便AC。
Q:二者差距不过10%,为何一个85一个100?