Pagini recente » Cod sursa (job #1071930) | Cod sursa (job #462877) | Cod sursa (job #1737685) | Cod sursa (job #267585) | Cod sursa (job #2166869)
#include <iostream>
#include <fstream>
#include <iomanip>
using namespace std;
ifstream f("secv3.in");
ofstream g("secv3.out");
int c[30010],t[30010],n,ls,ld,i,d[30010],l,u,sc[30010],s[30010];
double maxx,sum;
int main()
{
f>>n>>l>>u;
ls=0;
ld=-1;
maxx=-1;
for(i=0;i<n;i++)
{f>>c[i];
sc[i]=sc[i-1]+c[i];
}
for(i=0;i<n;i++)
{f>>t[i];
s[i]=s[i-1]+t[i];
}
for(i=0;i<n;i++)
{
if(ls<=ld&&d[ls]<=i-u-1)
ls++;
if(i>=l)
{
while(ls<=ld&&(sc[i]-sc[i-l])/(s[i]-s[i-l])>=(sc[i]-sc[d[ld]])/(s[i]-s[d[ld]]))
ld--;
d[++ld]=i-l;
sum=(double)(sc[i]-sc[d[ls]])/(double)(s[i]-s[d[ls]]);
if(sum>maxx)
maxx=sum;
}
}
g<<fixed<<setprecision(2)<<maxx;
return 0;
}