Pagini recente » ONIS 2014, Clasament | Cod sursa (job #347779) | Cod sursa (job #1844549) | Cod sursa (job #658614) | Cod sursa (job #168566)
Cod sursa(job #168566)
#include <cstdio>
int n,l,u,i,j,p,c[30003],t[30003],ls,ld,sc[30003],st[30003];
float f;
int cmp(int x1,int y1,int x2,int y2){
if ((sc[y1]-sc[x1-1])*(st[y2]-st[x2-1])>(st[y1]-st[x1-1])*(sc[y2]-sc[x2-1])) return 1;
else return 2;
}
int main(){
freopen("secv3.in","r",stdin);
freopen("secv3.out","w",stdout);
scanf("%d %d %d",&n,&l,&u);
for (i=1;i<=n;i++) scanf("%d",&c[i]);
for (i=1;i<=n;i++) scanf("%d",&t[i]);
sc[0]=st[0]=0;
for (i=1;i<=n;i++) {sc[i]=sc[i-1]+c[i];
st[i]=st[i-1]+t[i];}
ls=1;ld=l;
for (i=l+1;i<=n;i++)
{if (i-u+1>0) p=i-u+1;
else p=1;
for (j=p+1;j<=i-l+1;j++)
if (cmp(j,i,p,i)==1) p=j;
if (cmp(p,i,ls,ld)==1) {ls=p;
ld=i;}
}
f=(float)(sc[ld]-sc[ls-1])/(st[ld]-st[ls-1]);
printf("%4.2f",f);
return 0;
}