Pagini recente » Cod sursa (job #1411147) | Cod sursa (job #1009936) | Cod sursa (job #1765063) | Cod sursa (job #1768783) | Cod sursa (job #1588302)
#include <iostream>
#include <cstdio>
using namespace std;
int costuri[30001];
int timpi[30001];
int main()
{
FILE *fin = fopen("secv3.in", "r");
FILE *fout = fopen("secv3.out", "w");
int n, r1, r2, mij;
float maxim = 0, sum, f;
fscanf(fin, "%d%d%d", &n, &r1, &r2);
for(int i=1; i<=n; ++i){
fscanf(fin, "%d", &costuri[i]);
costuri[i] += costuri[i-1];
}
for(int i=1; i<=n; ++i){
fscanf(fin, "%d", &timpi[i]);
timpi[i] += timpi[i-1];
}
while(r1 <= r2){
mij = r1 + (r2 - r1) / 2;
sum = 0;
for(int i=1; i+mij-1<=n; ++i){
f = 1.0 * (costuri[i+mij-1] - costuri[i-1]) / (timpi[i+mij-1] - timpi[i-1]);
if(f > sum)
sum = f;
}
if(sum > maxim){
maxim = sum;
r1 = mij + 1;
}
else r2 = mij - 1;
}
fprintf(fout, "%.2f", maxim);
return 0;
}