Pagini recente » Borderou de evaluare (job #3182070) | Cod sursa (job #2929194) | Cod sursa (job #1970563) | Cod sursa (job #1412273) | Cod sursa (job #922411)
Cod sursa(job #922411)
#include<cstdio>
using namespace std;
#define MAX 30001
int N , L , U , c[MAX] , t[MAX], best_sum , best_t , len , sum , ti;
double sol;
void citire();
void solve();
void tipar();
int main()
{
citire();
solve();
tipar();
return 0;
}
void citire()
{
freopen("secv3.in" , "r" , stdin );
scanf("%d%d%d" , &N , &L ,&U );
for( int i = 1 ; i <= N ; ++i )
scanf("%d" , &c[i] );
for( int i = 1 ; i <= N ; ++i )
scanf("%d" , &t[i]);
}
void solve()
{
for(int i = 1 ; i < L ; ++i)
{
sum+=c[i];
ti+=t[i];
}
len = U;
for(int i = L ; i <= N ; ++i )
{
sum+=c[i];sum-=c[i-L];
ti+=t[i];ti-=t[i-L];
if(1.0*(best_sum+c[i])/(best_t+t[i]) > 1.0*(sum/ti)&& len <U)
{
len++;
best_sum+=c[i];
best_t+=t[i];
}
else
{
best_sum = sum;
best_t = ti;
len = L;
}
if(sol < 1.0*best_sum/best_t)
sol = 1.0*best_sum/best_t;
}
}
void tipar()
{
freopen("secv3.out" , "w" , stdout );
printf("%lf" , sol);
}