Pagini recente » Cod sursa (job #1199195) | Cod sursa (job #2300595) | Cod sursa (job #9836) | Cod sursa (job #1413460) | Cod sursa (job #2707131)
#include <bits/stdc++.h>
//#pragma GCC optimize("O3")
#define test " test "
#define ll long long
#define pii pair<int, int>
#define FASTIO \
cin.tie(0); \
cout.tie(0); \
ios_base::sync_with_stdio(0);
#define FILES \
freopen("secv3.in", "r", stdin); \
freopen("secv3.out", "w", stdout);
#define testcase \
int T; \
cin >> T; \
while (T--)
#define vec vector<int>
using namespace std;
vector<pii> v;
int n;
float slide(int mid)
{
int s1 = 0, s2 = 0;
for(int i = 1; i <= mid; i++)
s1 += v[i].first, s2 += v[i].second;
float mx1 = float(s1) / s2;
for(int i = mid + 1; i <= n; i++)
s1 += v[i].first, s2 += v[i].second, s1 -= v[i - mid].first, s2 -= v[i - mid].second, mx1 = max(mx1, float(s1) / s2);
return mx1;
}
signed main()
{
FILES;
int l, r;
cin >> n >> l >> r;
v.resize(n + 1);
for(int i = 1; i <= n; i++)
cin >> v[i].first;
for(int i = 1; i <= n; i++)
cin >> v[i].second;
float mx = 0;
while(l <= r)
{
int mid1 = (l + r) / 2, mid2 = mid1 + 1;
float res1 = slide(mid1);
float res2 = slide(mid2);
if(res1 > res2)
r = res1;
else
l = res2;
mx = max(mx, max(res1, res2));
}
cout << mx;
return 0;
}