Pagini recente » Cod sursa (job #2944761) | Cod sursa (job #993955) | Cod sursa (job #1697033) | Cod sursa (job #1025390) | Cod sursa (job #2042506)
#include <bits/stdc++.h>
using namespace std;
#define NMAX 30001
int n, l, u;
double partialTime[NMAX], partialCost[NMAX];
void read() {
scanf("%d %d %d ", &n, &l, &u);
for(int i = 1; i <= n; i++) {
int item;
scanf("%d ", &item);
partialCost[i] = partialCost[i - 1] + item;
}
for(int i = 1; i <= n; i++) {
int item;
scanf("%d ", &item);
partialTime[i] = partialTime[i - 1] + item;
}
}
double deltaCost(int i, int j) { return partialCost[i] - partialCost[j]; }
double deltaTime(int i, int j) { return partialTime[i] - partialCost[j]; }
double solve() {
double result = partialCost[l] / partialTime[l];
int back = 1;
for(int front = l + 1; front <= n; front++) {
if(front - l == u) back++;
double first = deltaCost(front, back - 1) / deltaTime(front, back - 1);
double second = deltaCost(front, front - l) / deltaTime(front, front - l);
if(first < second) back = front - l + 1;
result = max(result, min(first, second));
}
return result;
}
int main() {
freopen("secv3.in", "r", stdin);
freopen("secv3.out", "w", stdout);
read();
printf("%.2lf", solve());
return 0;
}