Pagini recente » Cod sursa (job #683947) | Cod sursa (job #1730159) | Cod sursa (job #3233484) | Cod sursa (job #520299) | Cod sursa (job #2891147)
#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;
struct bobu
{
double rap, cost, timp;
};
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(i >= l)
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<<Max;
return 0;
}