Pagini recente » Cod sursa (job #595054) | Cod sursa (job #2192383) | Cod sursa (job #3258929) | Cod sursa (job #2468774) | Cod sursa (job #3289408)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("secv3.in");
ofstream fout("secv3.out");
const int N=30005;
int n,l,r,i,j,a,b,s[N],t[N];
double c[N],d[N];
double v[N],mx;
deque<int> q;
void read()
{
fin>>n>>l>>r;
for(i=1;i<=n;++i)
{fin>>s[i]; c[i]=c[i-1]+s[i];}
for(i=1;i<=n;++i)
{fin>>t[i]; d[i]=d[i-1]+t[i];}
}
int main()
{
read();
for(i=1;i<=n;++i)
{
a+=s[i];
b+=t[i];
v[i]=1.0*a/b;
while(!q.empty() && v[i-l+1]<v[q.back()]) q.pop_back();
while(!q.empty() && q.front()<=i-r) q.pop_front();
if(i-l+1>0) q.push_back(i-l+1);
if(q.empty()) mx=max(mx,v[i]);
else mx=max(mx,(c[i]-c[q.front()])/(d[i]-d[q.front()]));
}
fout<<mx;
}