Pagini recente » Cod sursa (job #153486) | Cod sursa (job #2376792) | Cod sursa (job #993111) | Cod sursa (job #2180595) | Cod sursa (job #2591147)
#include <fstream>
#include <deque>
#include <iomanip>
#define NMAX 30005
using namespace std;
ifstream f("secv3.in");
ofstream g("secv3.out");
int cost[NMAX], timp[NMAX], n, u, l;
void citire(){
f >> n>> l >> u;
for (int i=1; i<=n; i++){
f >> cost[i];
cost[i] += cost[i-1];
}
for(int i=1; i<=n; i++){
f >> timp[i];
timp[i] += timp[i-1];
}
}
double fractie(int start, int finish){
return (double)(cost[finish] - cost[start-1]) / (timp[finish] - timp[start-1]);
}
void secventa(){
int pozstart = 1;
double vmax = fractie(1, l);
for (int i = l + 1; i <= n; i++) {
if (i - pozstart + 1 > u)
pozstart ++;
double ma1 = fractie(i-l+1, i);
double ma2 = fractie(pozstart, i);
if (ma1 > ma2) {
vmax = max(vmax, ma1);
pozstart = i - l + 1;
}
else vmax = max(vmax, ma2);
}
g << fixed << setprecision(2) << vmax;
}
int main()
{
citire();
secventa();
return 0;
}