Pagini recente » Cod sursa (job #2723837) | Cod sursa (job #1600144) | Cod sursa (job #1613796) | Cod sursa (job #217676) | Cod sursa (job #2628553)
#include <iostream>
#include <fstream>
#include <iomanip>
using namespace std;
ifstream fin("secv3.in");
ofstream fout("secv3.out");
int n, l, u;
long long v1[30005], v2[30005];
double smax;
int main() {
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];
}
for (int i = 1, min_j = 0; i <= n; ++i) {
if (i == 2)
min_j = 1;
if ((double)(v1[i] - v1[min_j]) / (v2[i] - v2[min_j]) > smax && i - min_j >= l && i - min_j <= u)
smax = (double)(v1[i] - v1[min_j]) / (v2[i] - v2[min_j]);
else {
for (int j = i - u; j <= i - l; ++j)
if ((double)(v1[i] - v1[j]) / (v2[i] - v2[j]) > smax)
smax = (double)(v1[i] - v1[j]) / (v2[i] - v2[j]);
}
if (v1[i] < v1[min_j])
min_j = i;
}
fout << fixed << setprecision(2) << smax;
return 0;
}