Pagini recente » Cod sursa (job #2511935) | Cod sursa (job #401186) | Cod sursa (job #916798) | Cod sursa (job #1809213) | Cod sursa (job #2316423)
#include <bits/stdc++.h>
using namespace std;
ifstream f("secv3.in");
ofstream go("secv3.out");
int n,l,u,i,gi,gn,g,G[30010];
long double ans,c[30010],t[30010],d[30010];
int main()
{
f>>n>>l>>u;
for(i=1;i<=n;i++)f>>c[i];
for(i=1;i<=n;i++){f>>t[i];d[i]=c[i]/t[i];c[i]+=c[i-1],t[i]+=t[i-1];}
for(i=l;i<=n;i++)
ans=max(ans,(c[i]-c[i-l])/(t[i]-t[i-l]));
for(i=l+1;i<=n;i++)
G[++g]=i;
for(i=l+1;i<=u&&g;i++)
{
if(G[1]==i-1)
gi=2;
else
gi=1;
gn=0;
for(;gi<=g;gi++)
{
if(d[G[gi]]<ans)continue;
ans=max(ans,(c[G[gi]]-c[G[gi]-i])/(t[G[gi]]-t[G[gi]-i]));
G[++gn]=G[gi];
}
g=gn;
}
go<<ans;
return 0;
}