Pagini recente » Cod sursa (job #1649600) | Cod sursa (job #2428570) | Cod sursa (job #609768) | Cod sursa (job #1173921) | Cod sursa (job #1179096)
#include <vector>
#include <algorithm>
#include <cmath>
#include <fstream>
#define FOR(i,x) for (i=1;i<=x;++i)
using namespace std;
ifstream f("secv3.in");
ofstream g("secv3.out");
int st,dr,N,i,Sc,St,Mx,C[100001],T[100001],SC[100001],ST[100001],M,Nr,t,start;
bool ok[100001];
int main()
{
f>>N>>st>>dr;
FOR(i,N) f>>C[i],C[i]=C[i]*100;
FOR(i,N)
{
f>>T[i];
if (C[i]/T[i]>=100) ok[i]=true;
if (!ok[i] && Nr>Mx) Nr=M,t=start,start=i+1;
else if (ok[i-1]) Nr++;
else Nr=0,start=i;
}
if (M>=st)
{while (ok[t++]) Mx+=C[i]/T[i];g<<Mx/100<<"."<<Mx%100/10<<Mx%10<<'\n';}
else
{
for(int i=1;i<=N;i++) SC[i]=SC[i-1]+C[i],ST[i]=ST[i-1]+T[i];
for (int x=st;x<=dr;++x)
for (int i=x;i<=N;++i)
{
Sc=SC[i]-SC[i-x];
St=ST[i]-ST[i-x];
if (Sc/St>Mx) Mx=Sc/St;
}
g<<Mx/100<<"."<<Mx%100/10<<Mx%10<<'\n';
}
f.close();
g.close();
return 0;
}