Pagini recente » Cod sursa (job #770982) | Cod sursa (job #1880093) | Cod sursa (job #2291834) | Cod sursa (job #2092374) | Cod sursa (job #152959)
Cod sursa(job #152959)
#include<stdio.h>
int main()
{
// declarari
int N,L,U,Cost[30001],Timp[30001];
float max,su,sd,val;
int i,uplimit,j,k,a,a1,a2;
FILE *f;
// citire
f=fopen("secv3.in","r");
fscanf(f,"%d%d%d",&N,&L,&U);
for (i = 1; i <= N; i++)
fscanf(f,"%d",Cost + i);
for (i = 1; i <= N; i++)
fscanf(f,"%d",Timp + i);
fclose(f);
// solutie
uplimit = N - L + 1;
max = 0;
for(i = 1; i <= uplimit; i++)
{
su = Cost [i];
sd = Timp [i];
k = i + L - 1;
for(j = i + 1; j <= k; j++)
{
su += Cost [j];
sd += Timp [j];
}
while(((a = k + 1) <= U)&&(su / sd * (a1 = Timp[a]) - (a2 = Cost[a]) < 0))
{
su += a2;
sd += a1;
k++;
}
if((val = su / sd) > max) max = val;
}
// afisare
f=fopen("secv3.out","w");
fprintf(f,"%.2lf",max);
fclose(f);
return 0;
}