#include <bits/stdc++.h> using namespace std; typedef long long ll; typedef long double ld; ll cs=0; struct duo { ld x,F,S; }; bool sim(duo a,duo b) { if(a.F==b.F||a.F==b.S||a.S==b.F||a.S==b.S) return 1; return 0; } void sol() { cout.precision(11); cout<<fixed; ll n,i,k; cin>>n; ld a[n],vl,ans=0; duo low[3],h[3]; for(i=0; i<3; i++) low[i].x=INT_MAX; for(i=0; i<n; i++) cin>>a[i]; sort(a,a+n); for(i=0; i<3; i++) { h[i].F=a[n-1-i]; h[i].S=a[n-2-i]; } for(i=0; i<n-1; i++) { vl=abs(a[i]-a[i+1]); for(k=0; k<3; k++) { if(vl<low[k].x) { ll j=k; for(j=2; j>=k+1; j--) { low[j].x=low[j-1].x; low[j].F=low[j-1].F; low[j].S=low[j-1].S; } low[k].x=vl; low[k].F=a[i]; low[k].S=a[i+1]; break; } } } for(i=0;i<3;i++) { for(k=0;k<3;k++) { if(!sim(h[i],low[k])) ans=fmax(ans,(h[i].F+h[i].S)/low[k].x); } } cout<<ans; } int main() { //ios_base::sync_with_stdio(false); //cin.tie(NULL); //ll t; //cin>>t; //while(t--) sol(); return 0; }
Preview:
downloadDownload PNG
downloadDownload JPEG
downloadDownload SVG
Tip: You can change the style, width & colours of the snippet with the inspect tool before clicking Download!
Click to optimize width for Twitter