Pagini recente » Cod sursa (job #401448) | Cod sursa (job #971676) | Cod sursa (job #307857) | Cod sursa (job #1174897) | Cod sursa (job #2059325)
#include <bits/stdc++.h>
using namespace std;
const int MAXN=3e4+5;
int n,l,u,i,c[MAXN],t[MAXN];
deque<int>q;
int main(){
freopen("secv3.in","r",stdin);
freopen("secv3.out","w",stdout);
cin>>n>>l>>u;
for(i=1;i<=n;i++)
cin>>c[i],c[i]+=c[i-1];
for(i=1;i<=n;i++)
cin>>t[i],t[i]+=t[i-1];
double ans=1.0*c[l]/t[l];
for(i=l;i<=n;i++) {
while(q.size()&&q.front()<=i-u)
q.pop_front();
while(q.size()&&1LL*(c[i]-c[q.back()-1])*(t[i]-t[i-l])<1LL*(c[i]-c[i-l])*(t[i]-t[q.back()-1]))
q.pop_back();
q.push_back(i-l+1);
ans = max(ans,1.0*(c[i]-c[q.front()-1])/(t[i]-t[q.front()-1]));}
printf("%.2lf",ans);
return 0;}