Pagini recente » Cod sursa (job #64998) | Cod sursa (job #153672) | Cod sursa (job #1721707) | Cod sursa (job #716907) | Cod sursa (job #1537475)
#include <cstdio>
#include <iostream>
using namespace std;
#define DIM 30005
FILE *fin = fopen("secv3.in","r");
FILE *fout = fopen("secv3.out","w");
int N, L, U, A[DIM], B[DIM], answer;
void Read();
void Write();
void Solve();
void Debug();
int main() {
Read();
Solve();
Write();
return 0;
}
void Read() {
fscanf(fin, "%d %d %d\n", &N, &L, &U);
for(int i = 1; i <= N; ++i) {
fscanf(fin, "%d", &A[i]);
}
for(int i = 1; i <= N; ++i) {
fscanf(fin, "%d", &B[i]);
}
fclose(fin);
}
void Write() {
fprintf(fout, "%d", answer / 100);
if((answer / 10) % 10 == 0) {
fprintf(fout, ".0%d", answer % 10);
}
else {
fprintf(fout, ".%d", answer % 100);
}
fclose(fout);
}
void Solve() {
int ASI, BSI, AS, BS;
ASI = BSI = AS = BS = 0;
for(int i = 1; i < L; ++i) {
ASI += A[i];
BSI += B[i];
}
for(int lg = L; lg <= U; ++lg) {
AS += ASI + A[lg];
BS += BSI + B[lg];
answer = max(answer, (AS * 100) / BS);
for(int i = lg + 1; i <= N; ++i) {
AS += A[i] - A[i - lg];
BS += B[i] - B[i - lg];
answer = max(answer, (AS * 100) / BS);
}
ASI += A[lg];
BSI += B[lg];
}
}