Pagini recente » Cod sursa (job #1566105) | Cod sursa (job #2785395) | Cod sursa (job #628033) | Cod sursa (job #1311861) | Cod sursa (job #1570387)
#include <iostream>
#include <iomanip>
#include <fstream>
#include <vector>
using namespace std;
//variabile
int n, l, u;
vector<int> a[2];
vector<float> b;
ofstream out("secv3.out");
//prototipuri
void Citire();
float Calcule();
float NrMax(int m);
void Ordonare();
//main
int main()
{
cout << setprecision(2) << fixed;
Citire();
for(int i = 0; i < n; i++){
b.push_back((float)a[0][i]/a[1][i]);
}
Ordonare();
out << Calcule();
return 0;
}
//functii
void Citire(){
int temp;
ifstream in("secv3.in");
in >> n >> l >> u;
for(int i = 0; i < n; i++){
in >> temp;
a[0].push_back(temp);
}
for(int i = 0; i < n; i++){
in >> temp;
a[1].push_back(temp);
}
}
float Calcule()
{
vector<float> rezultate;
float Max = 0.00f;
for(int i = l; i <= u; i++){
rezultate.push_back(NrMax(i));
}
for(int i = 0; i < rezultate.size(); i++)
if(rezultate[i] > Max){
Max = rezultate[i];
}
return Max;
}
float NrMax(int m)
{
float c = 0.00f, d = 0.00f;
for(int i = n-m; i < n; i++){
c += a[0][i];
d += a[1][i];
}
return c/d;
}
void Ordonare()
{
for(int i = 0; i < n-1; i++){
for(int j = i+1; j < n; j++)
if(b[i] > b[j]){
swap(b[i],b[j]);
swap(a[0][i],a[0][j]);
swap(a[1][i], a[1][j]);
}
}
}