Pagini recente » Cod sursa (job #1417259) | Cod sursa (job #999843) | Cod sursa (job #2430519) | Cod sursa (job #2024998) | Cod sursa (job #2903049)
#include <bits/stdc++.h>
/// TONI BO$$ was here
/// #MLC
using namespace std;
int dist[100001], tp[100001], deq[100001];
int main()
{
int n, l, u, i, d, t, j, p;
freopen("secv3.in","r",stdin);
freopen("secv3.out","w",stdout);
scanf("%d%d%d", &n, &l, &u);
for(i = 1; i <= n; i++)
scanf("%d", &dist[i]);
for(i = 1; i <= n; i++)
scanf("%d", &tp[i]);
for(i = 1; i <= n; i++)
{
dist[i] += dist[i - 1];
tp[i] += tp[i - 1];
}
double maxv = (double)(dist[l] * 1.0) / tp[l];
deq[p = u = 1] = 1;
for(i = l + 1; i <= n; i++)
{
while(p <= u && deq[i] <= i - u)
p++;
while(p <= u && (double)(dist[i] - dist[deq[u] - 1] * 1.0) / (tp[i] - tp[deq[u] - 1]) < (double)(dist[i] - dist[i - l] * 1.0) / (tp[i] - tp[i - l]))
u--;
deq[++u] = i - l + 1;
maxv = max(maxv, (double)(dist[i] - dist[deq[p] - 1] * 1.0) / (tp[i] - tp[deq[p] - 1]));
}
printf("%.3lf\n", maxv);
return 0;
}