Pagini recente » Cod sursa (job #703405) | Cod sursa (job #1830398) | Cod sursa (job #1130436) | Cod sursa (job #1897613) | Cod sursa (job #3217780)
#include <fstream>
#include <iomanip>
#include <vector>
#include <algorithm>
#include <map>
#include <string>
using namespace std;
ifstream fin ("secv3.in");
ofstream fout("secv3.out");
int k,i,sol,nr,st,n,U,L;
double C[30002],T[30002],sC,sT,maxim;
/*int cb(int val)
{
int i,step;
for(step=1;step<n;step<<=1);
for(i=0;step;step>>=1)
if(i+step<n&&V[i+step]<=val)
i+=step;
return i;
}*/
int main()
{
fin>>n>>L>>U;
for(i=1;i<=n;i++)
fin>>C[i];
for(i=1;i<=n;i++)
fin>>T[i];
for(i=1;i<L;i++)
{
sC+=C[i];
sT+=T[i];
}
st=1;
for(i=L;i<=n;i++)
{
sC+=C[i];
sT+=T[i];
while(i-st+1>L&&(sC-C[st])/(sT-T[st])>(sC/sT))
{
sC-=C[st];
sT-=T[st];
st++;
}
if(i-st+1>U)
{
sC-=C[st];
sT-=T[st];
st++;
while(i-st+1>L&&(sC-C[st])/(sT-T[st])>(sC/sT))
{
sC-=C[st];
sT-=T[st];
st++;
}
}
maxim=max(maxim,sC/sT);
}
fout<<fixed<<setprecision(2)<<maxim;
return 0;
}