Pagini recente » Cod sursa (job #1676261) | Cod sursa (job #942503) | Cod sursa (job #3215897) | Cod sursa (job #1296172) | Cod sursa (job #168671)
Cod sursa(job #168671)
#include <cstdio>
int n,l,u,i,j,p,c[30003],t[30003],ls,ld,sc[30003],st[30003],x,y;
int cmp(int x1,int y1,int x2,int y2){
long long aux1=(sc[y1]-sc[x1-1])*(st[y2]-st[x2-1]);
long long aux2=(st[y1]-st[x1-1])*(sc[y2]-sc[x2-1]);
if (aux1>aux2) 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;}
}
x=sc[ld]-sc[ls-1];
y=st[ld]-st[ls-1];
printf("%d.",x/y);
x=(x%y)*100;
printf("%d",x/y);
return 0;
}