Cod sursa(job #1588308)

Utilizator preda.andreiPreda Andrei preda.andrei Data 2 februarie 2016 22:45:03
Problema Secventa 3 Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.87 kb
#include <iostream>
#include <cstdio>

using namespace std;

int costuri[30001];
int timpi[30001];

int main()
{
    FILE *fin = fopen("secv3.in", "r");
    FILE *fout = fopen("secv3.out", "w");

    int n, r1, r2, mij;
    float maxim = 0, sum, f;

    fscanf(fin, "%d%d%d", &n, &r1, &r2);
    for(int i=1; i<=n; ++i){
        fscanf(fin, "%d", &costuri[i]);
        costuri[i] += costuri[i-1];
    }
    for(int i=1; i<=n; ++i){
        fscanf(fin, "%d", &timpi[i]);
        timpi[i] += timpi[i-1];
    }

    for(mij=r1; mij<=r2; ++mij){
        sum = 0;
        for(int i=1; i+mij-1<=n; ++i){
            f = 1.0 * (costuri[i+mij-1] - costuri[i-1]) / (timpi[i+mij-1] - timpi[i-1]);
            if(f > sum)
                sum = f;
        }

        if(sum >= maxim)
            maxim = sum;
    }

    fprintf(fout, "%.2f", maxim);
    return 0;
}