Pagini recente » Cod sursa (job #537614) | Cod sursa (job #2584533) | Cod sursa (job #1589948) | Cod sursa (job #838217) | Cod sursa (job #662002)
Cod sursa(job #662002)
#include<fstream>
#include<cstring>
#include<iomanip>
#include<ctime>
#include<cstdlib>
#define lmax 30003
using namespace std;
ifstream f("secv3.in",fstream::in);
ofstream g("secv3.out",fstream::out);
short int N,L,U;
double maxim=0;
typedef struct
{
double cost,timp;
}element;
element v[lmax];
void read()
{
short int i;
f>>N>>L>>U;
for(i=1;i<=N;i++)
f>>v[i].cost;
for(i=1;i<=N;i++)
f>>v[i].timp;
for(i=2;i<=N;i++)
v[i].cost+=v[i-1].cost,v[i].timp+=v[i-1].timp;
}
void solve()
{
short int i,j;
for(i=L;i<=N;i++)
{ if(i<U)
{
for(j=0;j<=i-L;j++)
if( ((v[i].cost-v[j].cost)/(v[i].timp-v[j].timp))>maxim)
maxim=(v[i].cost-v[j].cost)/(v[i].timp-v[j].timp);
}
else
{
for(j=i-U;j<=i-L;j++)
if( ((v[i].cost-v[j].cost)/(v[i].timp-v[j].timp))>maxim)
maxim=(v[i].cost-v[j].cost)/(v[i].timp-v[j].timp);
}
if(clock()>220)
i=N+3;
}
}
int main()
{
read();
solve();
g<<maxim;
f.close();
g.close();
return 0;
}