Pagini recente » Cod sursa (job #2975173) | Cod sursa (job #2678001) | Cod sursa (job #831110) | Cod sursa (job #2916160) | Cod sursa (job #114167)
Cod sursa(job #114167)
#include <stdio.h>
#define NMax 30001
long n, l, u;
long c[NMax], t[NMax];
double v[NMax], max;
void read();
void solve();
void write();
int main()
{
read();
solve();
write();
return 0;
}
void solve()
{
int i, j;
max = -1;
for (i = 1; i <= u; i++)
v[i] = -1;
v[1] = (double)c[n-1] / t[n-1];
if (l == 1 && v[1] > max)
max = v[1];
for (i = n-2; i >= 0; i--)
{
//calculez rapoartele secventelor [i, i + j]
for (j = u; j >= 2; j--)
{
v[j] = v[j-1] * c[i] / t[i];
if (j >= l && v[j] > max)
max = v[j];
}
v[1] = (double)c[i] / t[i];
if (l == 1 && v[1] > max)
max = v[1];
}
}
void read()
{
int i;
FILE *fin = fopen("secv3.in", "rt");
fscanf(fin, "%ld %ld %ld", &n, &l, &u);
for (i = 0; i < n; i++)
fscanf(fin, "%ld", &c[i]);
for (i = 0; i < n; i++)
fscanf(fin, "%ld", &t[i]);
fclose(fin);
}
void write()
{
int i;
FILE *fout = fopen("secv3.out", "wt");
fprintf(fout, "%.2lf\n", max);
fclose(fout);
}