Pagini recente » Cod sursa (job #2758597) | Cod sursa (job #3241278) | Cod sursa (job #85981) | Cod sursa (job #48020) | Cod sursa (job #2643228)
#include <bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp> // Common file
#include <ext/pb_ds/tree_policy.hpp> // Including tree_order_statistics_node_update
using namespace std;
using namespace __gnu_pbds;
typedef tree<
int,
null_type,
less<int>,
rb_tree_tag,
tree_order_statistics_node_update>
ordered_set;
typedef long long ll;
typedef long double ld;
typedef pair<int,int> pii;
typedef pair<ll,ll> pll;
ofstream fout("secv3.out");
ll l,u,s1[30001],s2[30001],n,v1[30001],v2[30001];
pll maxim={0,1};
bool maimare(pll a, pll b)
{
return a.first*b.second>a.second*b.first;
}
int main()
{
//ios_base::sync_with_stdio(false);
freopen ("secv3.in","r",stdin);
scanf ("%d",&n);
scanf ("%d",&l);
scanf ("%d",&u);
for(int i=1;i<=n;i++)
{
scanf ("%d",&v1[i]);
s1[i]=s1[i-1]+v1[i];
}
for(int i=1;i<=n;i++)
{
scanf ("%d",&v2[i]);
s2[i]=s2[i-1]+v2[i];
}
for(int lg=l;lg<=u;lg++)
for(int i=lg;i<=n;i++)
{
ll suma1=s1[i]-s1[i-lg];
ll suma2=s2[i]-s2[i-lg];
if(maimare({suma1,suma2},maxim))
maxim={suma1,suma2};
}
double ans;
double nr1=double(maxim.first);
double nr2=double(maxim.second);
ans=nr1/nr2;
fout<<fixed<<setprecision(2)<<ans;
return 0;
}