Pagini recente » Cod sursa (job #2572514) | Cod sursa (job #110821) | Cod sursa (job #1438189) | Cod sursa (job #576925) | Cod sursa (job #2300322)
#include <iostream>
#include <fstream>
const int MAXN = 30000 + 5;
using namespace std;
ifstream in("secv3.in");
ofstream out("secv3.out");
int n,lmin,lmax;
int cost[MAXN],sp_cost[MAXN],timp[MAXN],sp_timp[MAXN];
double ans = 0;
int main()
{
in>>n>>lmin>>lmax;
for(int i = 1; i <= n; i++){
in>>cost[i];
sp_cost[i] = sp_cost[i - 1] + cost[i];
}
for(int i = 1; i <= n; i++){
in>>timp[i];
sp_timp[i] = sp_timp[i - 1] + timp[i];
}
ans = 1.0 * sp_cost[lmin] / sp_timp[lmin];
int poz = 0;
for(int i = lmin + 1; i <= n; i++){
if(i - lmin == lmax)
poz++;
double a = (sp_cost[i] - sp_cost[i - lmin]) * 1.0 / (sp_timp[i] - sp_timp[i - lmin]);
double b = (sp_cost[i] - sp_cost[poz - 1] * 1.0) / (sp_timp[i] - sp_timp[poz - 1]);
if(b < a){
b = a;
poz = i - lmin + 1;
}
ans = max(ans,b);
}
out<<ans;
return 0;
}