Pagini recente » Cod sursa (job #2504256) | Cod sursa (job #2979642) | Cod sursa (job #3032329) | Cod sursa (job #2962659) | Cod sursa (job #996227)
Cod sursa(job #996227)
#include <fstream>
#define Nmax 30003
using namespace std;
ifstream f("secv3.in");
ofstream g("secv3.out");
int vc[Nmax],vt[Nmax],lung,a,b,L,U,n,i,pi,k;
double maxi;
int main()
{
f>>n>>L>>U;
for(i=1;i<=n;i++)f>>vc[i];
for(i=1;i<=n;i++)f>>vt[i];
for(i=1;i<=L;i++)a+=vc[i],b+=vt[i];
lung=L;
maxi=1.0*a/b;pi=1;
while(i<=n){
k=0;
while(lung<U && 1.0*a/b<=1.0*(a+vc[i])/(b+vt[i])&&i<=n){
if(maxi<1.0*(a+vc[i])/(b+vt[i]))maxi=1.0*(a+vc[i])/(b+vt[i]);
a+=vc[i],b+=vt[i];
lung++,i++,k++;
}
while(lung>L && 1.0*a/b<=1.0*(a-vc[pi])/(b-vt[pi])&&i<=n){
if(maxi<1.0*(a-vc[pi])/(b-vt[pi]))maxi=1.0*(a-vc[pi])/(b-vt[pi]);
a-=vc[pi],b-=vt[pi];
lung--,pi++,k++;
}
if(k==0){a-=vc[pi];b-=vt[pi];pi++;a+=vc[i];b+=vt[i];i++;}
}
g<<maxi<<'\n';
return 0;
}