Pagini recente » Cod sursa (job #2149039) | Cod sursa (job #2856250) | Cod sursa (job #1560888) | Cod sursa (job #984376) | Cod sursa (job #2891168)
#include <bits/stdc++.h>
using namespace std;
ifstream in("secv3.in");
ofstream out("secv3.out");
int n, l, u;
double sc[30005], st[30005], x, k, Max=0;
deque<pair<double,int>> q;
int main()
{
in>>n>>l>>u;
for(int i = 1; i <= n; i++)
{
in>>x;
sc[i] = sc[i - 1] + x;
}
for(int i = 1; i <= n; i++)
{
in>>x;
st[i] = st[i - 1] + x;
}
for(int i=1;i<=n-l;i++)
{
if(!q.empty() && q.front().second < i - u + l) q.pop_front();
while(!q.empty()&& sc[i] - st[i] <= q.back().first) q.pop_back();
q.push_back({sc[i] - st[i],i});
if((sc[i + l]-sc[q.front().second]) / (st[i + l]-st[q.front().second]) > Max)
Max=(sc[i + l]-sc[q.front().second]) / (st[i + l]-st[q.front().second]);
}
out<<fixed<<setprecision(2)<<Max;
return 0;
}