Pagini recente » Cod sursa (job #509589) | Cod sursa (job #3129948) | Cod sursa (job #91698) | Cod sursa (job #2946563) | Cod sursa (job #95971)
Cod sursa(job #95971)
#include <cstdio>
#include <cmath>
#define INF "secv3.in"
#define OUF "secv3.out"
#define NMAX 30002
#define EPS 1e-8
using namespace std;
int main()
{
int i,j,n,l,u,c[NMAX],t[NMAX],csum,tsum;
double rp[NMAX],max,aux;
FILE *in,*out;
in=fopen(INF,"r");
out=fopen(OUF,"w");
fscanf(in,"%d%d%d",&n,&l,&u);
for(i=1;i<=n;++i) fscanf(in,"%d",c+i);
for(i=1;i<=n;++i) {fscanf(in,"%d",t+i);rp[i]=(double)c[i]/(double)t[i];}
for(i=1;i<l;++i)
{
csum+=c[i];
tsum+=t[i];
}
max=0; j=1;i=l;
while(i<=n)
{
csum+=c[i];
tsum+=t[i];
if(i-j+1>u)
{
csum-=c[j];
tsum-=t[j];
++j;
}
while(i-j+1>l&&rp[i]-rp[j]>EPS)
{
csum-=c[j];
tsum-=t[j];
++j;
}
aux=(double)c[i]/(double)t[i];
if(aux-max>EPS) max=aux;
++i;
}
fprintf(out,"%.2llf",max);
printf("%.2llf",max);
scanf("%d",&i);
fclose(in);fclose(out);
return 0;
}