Pagini recente » Cod sursa (job #2901786) | Cod sursa (job #2968316) | Cod sursa (job #1117475) | Cod sursa (job #3197530) | Cod sursa (job #922661)
Cod sursa(job #922661)
#include<cstdio>
#include<fstream>
#include<iomanip>
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((double)(best_sum+c[i])/(best_t+t[i]) > (double)sum/ti && len <U)
{
len++;
best_sum+=c[i];
best_t+=t[i];
}
else
{
best_sum = sum;
best_t = ti;
len = L;
}
if((double)best_sum/best_t > sol)
sol = (double)best_sum/best_t;
}
}
void tipar()
{
ofstream g("secv3.out");
g<<fixed<<setprecision(6)<<sol;
g.close();
}