Pagini recente » Cod sursa (job #1731599) | Cod sursa (job #2968744) | Cod sursa (job #2076878) | Cod sursa (job #2423095) | Cod sursa (job #2836734)
#include <iostream>
#include <iomanip>
#include <fstream>
#include <deque>
using namespace std;
ifstream fin("secv3.in");
ofstream fout("secv3.out");
const int N = 3e4 + 7;
int n, l, u, i;
double c[N], t[N];
double rez;
deque <int> cmx, tmx;
int main()
{
fin >> n >> l >> u;
for(i = 1; i <= n; i++)
fin >> c[i], c[i] += c[i - 1];
for(i = 1; i <= n; i++)
fin >> t[i], t[i] += t[i - 1];
for(i = l; i <= n; i++){
while(!cmx.empty() && c[i - l] < c[cmx.back()])
cmx.pop_back();
while(!tmx.empty() && t[i - l] < t[tmx.back()])
tmx.pop_back();
tmx.push_back(i - l); cmx.push_back(i - l);
if(i - tmx.front() == u)
tmx.pop_front();
if(i - cmx.front() == u)
cmx.pop_front();
if(cmx.front() == tmx.front())
rez = max(rez, (c[i] - c[cmx.front()]) / (t[i] - t[tmx.front()]));
}
fout << fixed << setprecision(2) << rez;
return 0;
}