Pagini recente » Cod sursa (job #3120913) | Cod sursa (job #103128) | Cod sursa (job #1128038) | Cod sursa (job #580372) | Cod sursa (job #1470312)
#include <stdio.h>
#define NMAX 30005
int N, L, U;
int i, j, cost[NMAX], cost_sum[NMAX], time[NMAX], time_sum[NMAX], S1, S2, s1, s2, s;
long long int a1, a2;
FILE *in, *out;
float rez;
void citire()
{
in = freopen("secv3.in", "r", stdin);
out = freopen("secv3.out", "w", stdout);
scanf("%d %d %d\n", &N, &L, &U);
s = 0;
for (i = 1; i <= N; i++)
{
scanf("%d", &cost[i]);
s += cost[i];
/*
* cost_sum[i] = cost[1] + cost[2] + ... + cost[i]
* Obs. : cost_sum[i] - cost_sum[j] = cost[j+1] + ... + cost[i], ptr i >= j+1
*/
cost_sum[i] = s;
}
s = 0;
for (i = 1; i <= N; i++)
{
scanf("%d", &time[i]);
s += time[i];
time_sum[i] = s; /* analog cost_sum[] */
}
}
int main()
{
citire();
//print();
S1 = 0;
S2 = 1;
for (i = L; i <= U; i++) //i = seq len
for (j = i; j <= N; j++)
{
s1 = cost_sum[j]-cost_sum[j-i];
s2 = time_sum[j]-time_sum[j-i];
a1 = S1; a1 *= s2;
a2 = S2; a2 *= s1;
if (a1 < a2)
S1 = s1, S2 = s2;
}
printf("%.2f\n", (float)((float)S1)/((float)S2));
fclose(in);
fclose(out);
return 0;
}