Pagini recente » Cod sursa (job #637640) | Cod sursa (job #1558189) | Cod sursa (job #2361757) | Cod sursa (job #2649846) | Cod sursa (job #2891185)
#include <bits/stdc++.h>
using namespace std;
ifstream in("secv3.in");
ofstream out("secv3.out");
int n, l, u;
double long sc[30005], st[30005], x, k, Max=0;
deque<pair<double long,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 + 1; 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;
}