挂了一个点。。。
不知道咋把精度卡过去。
#include<bits/stdc++.h>
#define i64 long long
#define L(a,b,c,d) for(int a=b;a<=c;a+=d)
#define R(a,b,c,d) for(int a=b;a>=c;a-=d)
using namespace std;
const int N=2e5+5,M=998244353;
void solve();
int n;
long double a[N],b[N],ans=-1;
signed main(){
solve();
return 0;
}
long double mx(long double A,long double B){
return (A>B)?(A):(B);
}
void solve(){
cin>>n;
L(i,1,n,1) cin>>a[i]>>b[i];
L(i,1,n-1,1){
ans=mx(ans,(a[i+1]*b[i]-a[i]*b[i+1])/(a[i+1]-a[i]));
}
if(ans==-1) cout<<-1;
else printf("%.18Lf",ans);
}