Pagini recente » Cod sursa (job #1199168) | Cod sursa (job #2877804) | Cod sursa (job #2254548) | Cod sursa (job #2470755) | Cod sursa (job #152920)
Cod sursa(job #152920)
#include<stdio.h>
#define fin "secv3.in"
#define fout "secv3.out"
#define rep(i,n) for(i=1;i<=n;i++)
int N,L,U,Cost[30001],Timp[30001];
float Rez;
void citire()
{
FILE *f=fopen(fin,"r");
fscanf(f,"%d%d%d",&N,&L,&U);
int i;
rep(i,N)
fscanf(f,"%d",Cost + i);
rep(i,N)
fscanf(f,"%d",Timp + i);
fclose(f);
}
void solutie()
{
float max,su,sd,val;
int i,uplimit,j,k;
uplimit = N - L + 1;
max = 0;
for(i = 1; i <= uplimit; i++)
{
su = 0;
sd = 0;
k = i + L - 1;
for(j = i; j <= k; j++)
{
su += Cost [j];
sd += Timp [j];
}
while((k + 1 <= N)&&(k + 1 <= U)&&(su / sd * Timp[k + 1] - Cost[k + 1]<0))
{
k++;
su += Cost [k];
sd += Timp [k];
}
if((val = su / sd) > max) max = val;
}
Rez = max;
}
void afisare()
{
FILE *f=fopen(fout,"w");
fprintf(f,"%.2lf",Rez);
fclose(f);
}
int main()
{
citire();
solutie();
afisare();
return 0;
}