Pagini recente » Cod sursa (job #1978175) | Cod sursa (job #571740) | Cod sursa (job #1918541) | Cod sursa (job #1340231) | Cod sursa (job #2456898)
#include<fstream>
#include<algorithm>
using namespace std;
typedef struct Sequence {
int current_cost;
int current_time;
float current_ratio;
float max_ratio;
int* cost;
int* time;
}Sequence;
ifstream fin("secv3.in");
FILE* g = fopen("secv3.out", "w");
int main() {
int N, U, L;
int starting_point;
Sequence seq;
fin>>N>>L>>U;
seq.cost = new int[N];
seq.time = new int[N];
seq.max_ratio = 0;
for (int i = 0; i < N; i++)
fin>>seq.cost[i];
for (int i = 0; i < N; i++)
fin>>seq.time[i];
for (int j = L; j <= U; j++) {
seq.current_ratio = 0.00f;
starting_point = 0;
seq.current_cost = 0;
seq.current_time = 0;
for (int i = 0; i < j; i++) {
seq.current_cost += seq.cost[i];
seq.current_time += seq.time[i];
}
seq.current_ratio = (float)(seq.current_cost)/ float(seq.current_time);
seq.max_ratio = max( seq.current_ratio,seq.max_ratio);
for (int i = j; i < N; i++) {
seq.current_cost += (seq.cost[i] - seq.cost[starting_point]);
seq.current_time += (seq.time[i] - seq.time[starting_point]);
seq.current_ratio = (float)(seq.current_cost) / (float)(seq.current_time);
seq.max_ratio = max(seq.current_ratio, seq.max_ratio);
starting_point++;
}
}
fprintf(g, "%0.2f", seq.max_ratio);
return 0;
}