Pagini recente » Cod sursa (job #1771999) | Cod sursa (job #811333) | Cod sursa (job #1577369) | Cod sursa (job #2164196) | Cod sursa (job #2689884)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("secv3.in");
ofstream fout("secv3.out");
int n, l, u;
long long v1[30005], v2[30005];
bool smax_empty = true;
double smax;
void input() {
fin >> n >> l >> u;
for (int i = 1; i <= n; ++i) {
fin >> v1[i];
v1[i] += v1[i - 1];
}
for (int i = 1; i <= n; ++i) {
fin >> v2[i];
v2[i] += v2[i - 1];
}
return;
}
int main() {
input();
int st = l, dr = u;
while (st <= dr) {
l = (st + dr) / 2;
int aux = smax;
for (int i = 1; i <= n - l + 1; ++i) {
if ((double)(v1[i + l - 1] - v1[i - 1]) / (v2[i + l - 1] - v2[i - 1]) > smax || smax_empty == true) {
smax_empty = false;
smax = (double)(v1[i + l - 1] - v1[i - 1]) / (v2[i + l - 1] - v2[i - 1]);
}
}
if (smax > aux)
st = l + 1;
else
dr = l - 1;
}
fout << fixed << setprecision(2) << smax;
return 0;
}