Pagini recente » Cod sursa (job #2145231) | Cod sursa (job #1591777) | Cod sursa (job #1288866) | Cod sursa (job #3152080) | Cod sursa (job #96008)
Cod sursa(job #96008)
#include <cstdio>
#include <cmath>
#define INF "secv3.in"
#define OUF "secv3.out"
#define NMAX 30002
#define EPS 1e-8
using namespace std;
int n,l,u,c[NMAX],t[NMAX];
double sumk(int k)
{
int i;
double max,aux;
max=0.0;
for(i=k;i<=n;++i)
{
aux=((double)(c[i]-c[i-k])/(double)(t[i]-t[i-k]));
if(aux>max) max=aux;
}
return max;
}
int main()
{
int i,j,st,dr,mij;
double max,aux;
FILE *in,*out;
in=fopen(INF,"r");
out=fopen(OUF,"w");
fscanf(in,"%d%d%d",&n,&l,&u);
c[0]=t[0]=0;
for(i=1;i<=n;++i) {fscanf(in,"%d",&mij);c[i]=c[i-1]+mij;}
for(i=1;i<=n;++i) {fscanf(in,"%d",&mij);t[i]=t[i-1]+mij;}
st=l;dr=u;max=0.0;
while(st<=dr)
{
mij=(st+dr)/2;
aux=sumk(mij);
if(aux>max)
{
max=aux;
dr=mij-1;
}
else st=mij+1;
}
fprintf(out,"%.2lf",max);
// printf("%.2lf",max);
// scanf("%d",&i);
fclose(in);fclose(out);
return 0;
}