[[http://acm.hdu.edu.cn/showproblem.php?pid=6581|HDU6581]] #include #include #include #include #include #define LL long long using namespace std; const int N=1e5+10; int n; LL l[N],s[N],v[N]; int read() { int x=0,f=1;char c=getchar(); while(c<'0'||c>'9'){if(c=='-')f=-1;c=getchar();} while(c>='0'&&c<='9'){x=x*10+c-'0';c=getchar();} return x*f; } int main() { while(~scanf("%d",&n)) { LL len=0; double mint=0; for(int i=0;i<=n;i++)l[i]=read(); for(int i=0;i<=n;i++)s[i]=read(); for(int i=0;i<=n;i++)v[i]=read(); for(int i=0;i<=n;i++) { if(!i)mint=s[i]*1.0/v[i]; else len+=l[i],mint=max(mint,((s[i]+len)*1.0)/v[i]); } printf("%.10lf\n",mint); } return 0; }