Pagini recente » Cod sursa (job #536093) | Cod sursa (job #1903918) | Cod sursa (job #2906317) | Cod sursa (job #2233120) | Cod sursa (job #2591986)
#include <bits/stdc++.h>
#define NMAX 30005
using namespace std;
ifstream fin("secv3.in");
ofstream fout("secv3.out");
int n,st,dr,mij;
int cost[NMAX],timp[NMAX];
double maxim,suma,sus,jos;
int main()
{
fin>>n>>st>>dr;
for(int i=1;i<=n;i++)
{
fin>>cost[i];
}
for(int i=1;i<=n;i++)
{
fin>>timp[i];
}
while(st<=dr)
{
mij=(st+dr)/2;
sus=jos=suma=0;
for(int i=1;i<=mij;i++)
{
sus+=cost[i];
jos+=timp[i];
}
suma=max(suma,sus/jos);
for(int i=mij+1;i<=n;i++)
{
sus+=cost[i];
jos+=timp[i];
sus-=cost[i-mij];
jos-=timp[i-mij];
suma=max(suma,sus/jos);
}
if(suma>=maxim)
{
maxim=suma;
st=mij+1;
}
else dr=mij-1;
}
fout<<setprecision(2)<<fixed;
fout<<maxim;
}