Pagini recente » Cod sursa (job #3204123) | Cod sursa (job #474865) | Cod sursa (job #951019) | Cod sursa (job #2929544) | Cod sursa (job #1179084)
#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];
void solve1()
{
for(int i=1;i<=N;i++) SC[i]=SC[i-1]+C[i],ST[i]=ST[i-1]+T[i];
int Cost=0,Time=0;
for (int i=1;i<=N;i++)
for (int j=st+i-1;j<=dr+i-1;j++)
{
Cost=SC[j]-SC[i-1];
Time=ST[j]-ST[i-1];
if (Cost/Time>Mx) Mx=Cost/Time;
}
g<<Mx/100<<"."<<Mx%100/10<<Mx%10<<'\n';
}
void solve2()
{
FOR(i,st-1) Sc+=C[i],St+=T[i];
for (int i=st;i<=N;++i)
{
Sc+=C[i]-C[i-st];
St+=T[i]-T[i-st];
if (Sc/St>Mx) Mx=Sc/St;
}
g<<Mx/100<<"."<<Mx%100/10<<Mx%10<<'\n';
}
int main()
{
f>>N>>st>>dr;
FOR(i,N) f>>C[i],C[i]=C[i]*100;
FOR(i,N) f>>T[i];
if (N<6000) solve1();
else solve2();
f.close();
g.close();
return 0;
}