Pagini recente » Cod sursa (job #251255) | Cod sursa (job #1312969) | Istoria paginii runda/fulger/clasament | Cod sursa (job #1647616) | Cod sursa (job #2051105)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("secv3.in");
ofstream fout("secv3.out");
int n,d1[100001],st1=0,dr1=-1,l,u;
float mx=-100001,v[1000001],x[100001];
int main()
{
int i,j;
fin>>n>>l>>u;
for(i=1;i<=n;i++)
{
fin>>v[i];
v[i]+=v[i-1];
}
for(i=1;i<=n;i++)
{
fin>>x[i];
x[i]+=x[i-1];
}
for(i=l;i<=n;i++)
{
if(st1<=dr1&&d1[st1]==i-u-1)
{
st1++;
}
while(st1<=dr1&&(v[i]-v[i-l])/(x[i]-x[i-l])>=(v[i]-v[d1[dr1]])/(x[i]-x[d1[dr1]]))
dr1--;
d1[++dr1]=i-l;
if(mx<(v[i]-v[d1[st1]])/(x[i]-x[d1[st1]]))
mx=(v[i]-v[d1[st1]])/(x[i]-x[d1[st1]]);
}
fout<<setprecision(2)<<fixed<<mx;
return 0;
}