Pagini recente » Cod sursa (job #907223) | Cod sursa (job #2449124) | Monitorul de evaluare | Cod sursa (job #1274875) | Cod sursa (job #2009421)
#include<bits/stdc++.h>
using namespace std;
ifstream f("secv3.in");
ofstream g("secv3.out");
int n,l,r;
float rmax,r2;
deque<int>c;
deque<int>t;
int s1,s2;
int v[30001],v2[30001];
int main()
{
f>>n>>l>>r;
for(int i=1;i<=n;++i)
f>>v[i];
for(int i=1;i<=n;++i)
f>>v2[i];
int p=1;
for(int i=p;i<=l;++i)
{
c.push_back(v[i]);
s1+=v[i];
t.push_back(v2[i]);
s2+=v2[i];
}
int sz=1;
for(int i=2;i<=n;++i)
{
float r2=(s1+0.0)/s2;
if(r2>rmax)
rmax=r2;
float r1=(v[i]+0.0)/v2[i];
if(r1>r){
++sz;
s1+=v[i];
s2+=v2[i];
if(sz>r)
{
s1-=c[0];
s2-=t[0];
c.pop_front();
t.pop_front();
--sz;
}
}
else{
c.clear(),t.clear();
s1=v[i];
s2=v2[i];
sz=1;
}
c.push_back(v[i]);
t.push_back(v2[i]);
}
r2=(s1+0.0)/s2;
if(rmax<r2)
rmax=r2;
g<<fixed<<setprecision(3)<<rmax<<'\n';
return 0;
}