Pagini recente » Cod sursa (job #1438305) | Cod sursa (job #2819220) | Cod sursa (job #1144455) | Cod sursa (job #1880850) | Cod sursa (job #168603)
Cod sursa(job #168603)
#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){
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;}
}
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;
}