Pagini recente » Cod sursa (job #114664) | Cod sursa (job #2018481) | Cod sursa (job #1581625) | Cod sursa (job #2106948) | Cod sursa (job #152914)
Cod sursa(job #152914)
#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,repet,k;
uplimit = N - L + 1;
max = 0;
for(i = 1; i <= uplimit; i++)
{
su = 0;
sd = 0;
repet = i + L;
for(j = i; j < i + L; j++)
{
su += Cost [j];
sd += Timp [j];
}
j--;
k = L;
while((k + 1 <= N)&&(k + 1 <= U)&&(su / sd * Timp[k + 1] - Cost[k + 1]<0))
{
k++;
su += Cost [k];
sd += Timp [k];
}
val = su / sd;
if(val > 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;
}