Pagini recente » agm-2018/runda1 | Monitorul de evaluare | Cod sursa (job #2026445) | Cod sursa (job #2981714) | Cod sursa (job #2891489)
#include <bits/stdc++.h>
using namespace std;
int c[30005], t[30005];
int main()
{
ifstream cin("secv3.in");
ofstream cout("secv3.out");
int n, mn, mx;
cin >> n >> mn >> mx;
for(int i=1; i<=n; i++)
{
cin >> c[i];
}
for(int i=1; i<=n; i++)
{
cin >> t[i];
}
for(int i=2; i<=n; i++)
{
c[i] = c[i - 1] + c[i];
t[i] = t[i - 1] + t[i];
}
double sol = 1.0 * c[mn] / (1.0 * t[mn]);
int j = 1;
for(int i = mn + 1; i <= n; i++)
{
if(i - j == mx - 1)
j++;
double ans1=1.0 * (c[i] - c[j - 1]) / (1.0 * (t[i] - t[j - 1]));
double ans2=1.0 * (c[i] - c[i - mn]) / (1.0 * (t[i] - t[i - mn]));
if(ans2>ans1)
{
j = i - mn + 1;
}
sol = max(sol, max(ans1, ans2));
}
cout << fixed << setprecision(10) << sol;
return 0;
}