Pagini recente » Cod sursa (job #1978605) | Cod sursa (job #1564705) | Cod sursa (job #861701) | Cod sursa (job #783148) | Cod sursa (job #2151994)
#include<fstream>
#include<deque>
#include<iomanip>
using namespace std;
int n,l,u,i;
int c[30002],t[30002];
deque <int> dq;
double s;
ifstream f("secv3.in");
ofstream g("secv3.out");
double raport(int i,int j)
{
return (1.0*(c[i]-c[j]))/(1.0*(t[i]-t[j]));
}
int main()
{
f>>n>>l>>u;
for(i=1;i<=n;i++)
{
f>>c[i];
c[i]+=c[i-1];
}
for(i=1;i<=n;i++)
{
f>>t[i];
t[i]+=t[i-1];
}
for(i=l;i<=n;i++)
{
if(!dq.empty() && dq.front()==i-u-1)
dq.pop_front();
while(!dq.empty() && raport(i,dq.back())<=raport(i,i-1))
dq.pop_back();
dq.push_back(i-1);
s=max(s,raport(i,dq.front()));
}
g<<fixed<<setprecision(3)<<s;
f.close();
g.close();
return 0;
}