Cod sursa(job #2173628)

Utilizator matei8787Matei Dobrea matei8787 Data 15 martie 2018 23:12:12
Problema Secventa 3 Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.16 kb
#include<fstream>
#include<iomanip>
using namespace std;
ifstream in("secv3.in");
ofstream out("secv3.out");
struct ura{
    int val,timp; ///Daca e in cazul meu, am valoare nelimitata
} v[30005];
int main()
{
    int n,l,u,i,j;
    double rap,rapmax=-1,valv=0,timpv=0;
    in>>n>>l>>u;
    for ( i = 1 ; i <= n ; i++ ){
        in>>v[i].val; ///citesc valorile
    }
    for ( i = 1 ; i <= n ; i++ ){
        in>>v[i].timp; ///citesc timpul
    }
    valv = v[1].val;
    timpv = v[1].timp;
    rap = valv / timpv;
    for ( i = 1 , j = i + l - 1 ; i <= n ; i = i ){
        if ( rap > rapmax ){
            rapmax = rap;
        }
        if ( j - i + 2 <= u ){
            j++;
            valv += v[j].val;
            timpv += v[j].timp;
            rap = valv / timpv;
        }
        else{
            if ( j - i + 1 == u ){
                i++;
                j++;
                valv -= v[i-1].val;
                timpv -= v[i-1].timp;
                timpv += v[j].timp;
                valv += v[j].val;
                rap = valv / timpv;
            }
        }
    }
    out<<fixed<<setprecision(2)<<rapmax;
    return 0;
}