Pagini recente » Cod sursa (job #1108310) | Cod sursa (job #149923) | Cod sursa (job #903461) | Cod sursa (job #1663523) | Cod sursa (job #2905770)
#include <fstream>
#include <vector>
#include <algorithm>
#include <deque>
#include <iomanip>
using namespace std;
ifstream cin("secv3.in");
ofstream cout("secv3.out");
int a[100001];
int b[100001];
int q[100001];
int main()
{
int n,l,r;
cin>>n>>l>>r;
for(int i=1;i<=n;i++)
{
cin>>a[i];
}
for(int i=1;i<=n;i++)
{
cin>>b[i];
}
for(int i=1;i<=n;i++)
{
a[i]+=a[i-1];
b[i]+=b[i-1];
}
double maxx=(double)(a[l])/b[l];
int p=r=1;
q[1]=1;
for(int i=l+1;i<=n;i++)
{
while(p<=r && q[i]<=i-r)
{
p++;
}
while(p<=r && (double)(a[i]-a[q[r]-1])/(b[i]-b[q[r]-1])<(double)(a[i]-a[i-l])/(b[i]-b[i-l]))
{
r--;
}
r++;
q[r]=i-l+1;
maxx=max(maxx,(double)(a[i]-a[q[p]-1])/(b[i]-b[q[p]-1]));
}
cout<<setprecision(2)<<maxx;
return 0;
}