Pagini recente » Cod sursa (job #2154146) | Cod sursa (job #801315)
Cod sursa(job #801315)
#include <iostream>
#include <iomanip>
#include <fstream>
#define DN 30005
using namespace std;
int n,l,u,st,dr;
double v[DN],s[DN],t[DN];
bool check(double r) {
st=1;dr=l;
for(int i=1; i<=n; ++i) v[i]=v[i-1]+s[i]-r*t[i];
if(v[u]>=0) return 1;
for(int i=u+1; i<=n; ++i) {
for(;i-st+1>u;++st);
for(;i-st+1>l || v[i]-v[st]<0; ++st);
if(v[i]-v[st-1]>=0) return 1;
}
return 0;
}
int main()
{
ifstream f("secv3.in");
ofstream g("secv3.out");
f>>n>>l>>u;
for(int i=1; i<=n; ++i) f>>s[i];
for(int i=1; i<=n; ++i) f>>t[i];
double ls=0,ld=99999999,m;
for(int i=1; i<=100; ++i) {
m=(ls+ld)*0.5;
if(check(m)) ls=m;
else ld=m;
}
g<<fixed<<setprecision(9)<<ls;
return 0;
}