Pagini recente » Cod sursa (job #3005676) | Cod sursa (job #590730) | Cod sursa (job #1408798) | Cod sursa (job #2564391) | Cod sursa (job #2049399)
#include <fstream>
#include <iomanip>
using namespace std;
ifstream in ("secv3.in");
ofstream out ("secv3.out");
const int N=30002;
int c[N],t[N],d[N];
int main()
{
int n,l,u,i,st=1,dr=1;
double maxi;
in>>n>>l>>u;
for (i=1;i<=n;i++)
in>>c[i], c[i]+=c[i-1];
for (i=1;i<=n;i++)
in>>t[i], t[i]+=t[i-1];
d[1]=1;
maxi=(double)c[l]/t[l];
for (i=l+1;i<=n;i++)
{
while (st<=dr && d[st]<=i-u)
st++;
while (st<=dr && (double)(c[i]-c[d[dr]-1])/(t[i]-t[d[dr]-1])<(double)(c[i]-c[i-l])/(t[i]-t[i-l]))
dr--;
dr++;
d[dr]=i-l+1;
if (maxi<(double)(c[i]-c[d[st]-1])/(t[i]-t[d[st]-1]))
maxi=(double)(c[i]-c[d[st]-1])/(t[i]-t[d[st]-1]);
}
out<<setprecision(2)<<fixed<<maxi;
return 0;
}