Pagini recente » Cod sursa (job #1342996) | Cod sursa (job #1503390) | Cod sursa (job #2816294) | Cod sursa (job #1522050) | Cod sursa (job #2039652)
#include <iostream>
#include <cstdio>
#define X 30001
using namespace std;
int n,l,u,i,j,nr;
double rez,sc,sprec,c[X],t[X];
int main()
{
freopen("secv3.in","r",stdin);
freopen("secv3.out","w",stdout);
scanf("%d %d %d\n",&n,&l,&u);
for(i=1; i<=n; i++)
{
scanf("%d ",&nr);
c[i]=c[i-1]+nr;
}
scanf("\n");
for(i=1; i<=n; i++)
{
scanf("%d ",&nr);
t[i]=t[i-1]+nr;
}
///constr siruruile de sume pt cost si timp
rez=c[l]/t[l];
j=1;
///aleg sirul de l el ca baza de comp
for(i=l+1;i<=n;i++)
{
if(i-l==u)
j++;
///dca secv are val max atunci mut inceputul
sprec=(c[i]-c[j-1])/(t[i]-t[j-1]);
sc=(c[i]-c[i-l])/(t[i]-t[i-l]);
///calc rap pentru secv curenta si precedenta
if(sprec<sc)
{
sprec=sc;
j=i-l+1;
}
rez=max(rez,sprec);
///daca curenta e mai buna compar cu rez si mut inceputul secv la inceputul secv actuale
}
printf("%.2lf ",rez);
return 0;
}